您的位置:首页 > 其它

LeetCode - Complex Number Multiplication

2017-06-27 15:08 295 查看

题目

  输入两个 a+bi格式的字符串,计算它们的乘积,i^2=-1,输出结果也为a+bi的形式。

  如 输入”1+1i”, “1+1i” (1 + i) * (1 + i) = 1 + i^2 + 2 * i = 2i,输出0+2i

思路

  从字符串中抽取出数字进行计算,计算过后再进行拼装结果字符串。

代码

public String complexNumberMultiply(String a, String b) {
if (a == null || b == null || a.equals("") || b.equals("")) {
return "";
}
// 将输入用 + 号分割开
String[] tmpa = a.split("\\+");
String[] tmpb = b.split("\\+");
// 提取出所有的数字
int numA1 = Integer.valueOf(tmpa[0]);
int numA2 = Integer.valueOf(tmpa[1].replaceAll("i", ""));
int numB1 = Integer.valueOf(tmpb[0]);
int numB2 = Integer.valueOf(tmpb[1].replaceAll("i", ""));
int res1 = -1 * numA2 * numB2 + numA1 * numB1;
int res2 = numA1 * numB2 + numA2 * numB1;
return res1 + "+" + res2 + "i";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode