美文网首页
听到now那边面试在嘲讽最大数相加有这么难吗,手写一个

听到now那边面试在嘲讽最大数相加有这么难吗,手写一个

作者: portability | 来源:发表于2018-08-07 23:45 被阅读0次

    string Solution::addBigInteger(string s1, string s2) {

    stack> ss1;

        stack> ss2;

        for (char i : s1) {

    ss1.push(i);

        }

    for (char j : s2) {

    ss2.push(j);

        }

    int len = (int) min(s1.length(), s2.length());

        vector result;

        int a,b,c=0;

        for (int k =0; k < len; ++k) {

    a = ss1.top() -'0';

            b = ss2.top() -'0';

            ss1.pop();

            ss2.pop();

            result.push_back(((a + b + c) %10) +'0');

            c = (a + b + c ) /10;

        }

    if(c){

    if(s1.length() > len){

    while(!ss1.empty()){

    a = ss1.top() -'0';

                    result.push_back((a + c) %10 +'0');

                    c = (a + c) /10;

                    ss1.pop();

                }

    }else if(s2.length() > len){

    a = ss1.top() -'0';

                while(!ss2.empty()){

    result.push_back((a + c) %10 +'0');

                    c = (a + c) /10;

                    ss2.pop();

                }

    }

    }else{

    if(s1.length() > len){

    while(!ss1.empty()){

    result.push_back(ss1.top());

                    ss1.pop();

                }

    }else if(s2.length() > len){

    while(!ss2.empty()){

    result.push_back(ss2.top());

                    ss2.pop();

                }

    }

    }

    string re;

        for(auto i = result.rbegin(); i!= result.rend(); i++){

    re+= *i;

        }

    return re;

    }

    相关文章

      网友评论

          本文标题:听到now那边面试在嘲讽最大数相加有这么难吗,手写一个

          本文链接:https://www.haomeiwen.com/subject/doizvftx.html