537 Complex Number Multiplication 复数乘法

详见:https://leetcode.com/problems/complex-number-multiplication/description/

C++:

class Solution {
public:
    string complexNumberMultiply(string a, string b) 
    {
        int n1 = a.size(), n2 = b.size();
        auto p1 = a.find_last_of("+"), p2 = b.find_last_of("+");
        int a1 = stoi(a.substr(0, p1)), b1 = stoi(b.substr(0, p2));
        int a2 = stoi(a.substr(p1 + 1, n1 - p1 - 2));
        int b2 = stoi(b.substr(p2 + 1, n2 - p2 - 2));
        int r1 = a1 * b1 - a2 * b2, r2 = a1 * b2 + a2 * b1;
        return to_string(r1) + "+" + to_string(r2) + "i";
    }
};

 参考:http://www.cnblogs.com/grandyang/p/6660437.html

posted on 2018-04-22 22:12  lina2014  阅读(117)  评论(0编辑  收藏  举报

导航