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

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;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,202评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,594评论 18 399
  • 妈妈们在一起说起孩子,经常能够听到“孩子胆子小”“孩子淘气”“孩子不爱说话”“孩子聪明”“笨拙的”“漂亮的”等等,...
    红懿阅读 2,571评论 0 3
  • 子曰:吾与回言终日,不违如愚。退而省其私,亦足以发,回也不愚。 孔子说:我和颜回整天讲学,他总是很认真的倾听,从来...
    Lo俊彦阅读 2,669评论 0 1
  • 春暖花开的季节怎么能少了爱人的陪伴,有伴的就不说了,还在单身的朋友千万不要气馁,穿上美美的衣服,再画个电力十足的妆...
    D3舍阅读 3,335评论 0 1

友情链接更多精彩内容