LeetCode537

发布于:2023-01-09 ⋅ 阅读:(454) ⋅ 点赞:(0)

class Solution {

public:

    string complexNumberMultiply(string num1, string num2) {

        string res="";

        int index=0;

        int real1=0;

        int real2=0;

        int imag1=0;

        int imag2=0;

        int temp=0;

        int symbol=1;

        if(num1[index]=='-')

        {

            symbol=-1;

            index++;

        }

        while(num1[index]!='+'){

            temp=temp*10+num1[index]-'0';

            index++;

        }

        real1=temp*symbol;

        temp=0;

        symbol=1;

        index++;

        if(num1[index]=='-')

        {

            symbol=-1;

            index++;

        }

        while(num1[index]!='i'){

            temp=temp*10+num1[index]-'0';

            index++;

        }

        imag1=temp*symbol;

        //第二个复数计算

        index=0;

        temp=0;

        symbol=1;

        if(num2[index]=='-')

        {

            symbol=-1;

            index++;

        }

        while(num2[index]!='+'){

            temp=temp*10+num2[index]-'0';

            index++;

        }

        real2=temp*symbol;

        symbol=1;

        temp=0;

        index++;

        if(num2[index]=='-')

        {

            symbol=-1;

            index++;

        }

        while(num2[index]!='i'){

            temp=temp*10+num2[index]-'0';

            index++;

        }

        imag2=temp*symbol;

        int resReal=real1*real2-imag1*imag2;

        int resImag=real1*imag2+real2*imag1;

        res=to_string(resReal)+"+"+to_string(resImag)+"i";

        return res;

    }

};