题解 | #大数加法#

大数加法

http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475

string solve(string s, string t) {
string ret = "";
int i =s.length()-1;
int j =t.length()-1;
int flag = 0;
while(i >=0 && j>=0)
{
int index = s[i]-'0'+int(t[j])-'0'+ flag;
index >= 10 ? (flag = 1, index-= 10): flag = 0;
ret += to_string(index);
i--;
j--;
if(i == -1 && j == -1 && flag) //s结束了
{
ret +='1';
}

        while(i == -1 && j>= 0) //s结束了
        {
             int index = int(t[j])-'0'+ flag;
             index >= 10 ? (flag = 1, index-= 10): flag = 0;
             ret += to_string(index);
             if(j== 0 && flag)  ret +='1';
             j--;
        }

         while(j == -1 && i>= 0) //t结束了
        {
             int index = int(s[i])-'0'+ flag;
             index >= 10 ? (flag = 1, index-= 10): flag = 0;
             ret += to_string(index);
              if(i== 0 && flag)  ret +='1';
             j--;
        }
    }

    reverse(ret.begin(), ret.end());

    return ret;
    // write code here
}
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务