解题思路:
字符串与整数的转换,经过虚数计算,转成虚数形式字符串。
代码:
class Solution {
public:
int findpos(string str) {
int i = 0;
while(i != str.length() && str[i] != '+') {
i++;
}
return i;
}
string complexNumberMultiply(string num1, string num2) {
int pos1 = findpos(num1);
string num1_str1 = num1.substr(0, pos1);
string num1_str2 = num1.substr(pos1+1, num1.length()-pos1-2);
int num1_part1 = atoi(num1_str1.c_str());
int num1_part2 = atoi(num1_str2.c_str());
int pos2 = findpos(num2);
string num2_str1 = num2.substr(0, pos2);
string num2_str2 = num2.substr(pos2+1, num2.length()-pos2-2);
int num2_part1 = atoi(num2_str1.c_str());
int num2_part2 = atoi(num2_str2.c_str());
int ans_part1 = num1_part1 * num2_part1 - num1_part2 * num2_part2;
int ans_part2 = num1_part1 * num2_part2 + num1_part2 * num2_part1;
string ans = std::to_string(ans_part1) + '+' + std::to_string(ans_part2) + 'i';
return ans;
}
};
时间复杂度空间复杂度O(1) 。
|