Complex Number Multiplication
Given two strings representing two complex numbers.
You need to return a string representing their multiplication. Note i2= -1 according to the definition.
Example 1:
Input:
"1+1i", "1+1i"
Output:
"0+2i"
Explanation:
(1 + i) * (1 + i) = 1 + i
2
+ 2 * i = 2i, and you need convert it to the form of 0+2i.
Example 2:
Input:
"1+-1i", "1+-1i"
Output:
"0+-2i"
Explanation:
(1 - i) * (1 - i) = 1 + i
2
- 2 * i = -2i, and you need convert it to the form of 0+-2i.
Note:
- The input strings will not have extra blank.
- The input strings will be given in the form of a+bi , where the integer a and b will both belong to the range of [-100, 100]. And the output should be also in this form .
Tips:
注意用split分开string为数组时,用a.split("+")
Code:
public class Solution {
public String complexNumberMultiply(String a, String b) {
String res = "";
String[] s1 = a.split("\\+");
String[] s2 = b.split("\\+");
int a1 = Integer.valueOf(s1[0]);
int a2 = Integer.valueOf(s1[1].substring(0, s1[1].length() - 1));
int b1 = Integer.valueOf(s2[0]);
int b2 = Integer.valueOf(s2[1].substring(0, s2[1].length() - 1));
int a1b1 = a1 * b1;
int a1b2a2b1 = a1 * b2 + a2 * b1;
int a2b2 = a2 * b2;
return a1b1 - a2b2 + "+" + a1b2a2b1 + "i";
}
}