题解 | #大数加法#

大数加法

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

直接字符串进行模拟加法

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    string solve(string s, string t) {
        // write code here
        if(s.size()<t.size()){
            string temp=s;
            s=t;
            t=temp;
        }
        int right1=s.size()-1,right2=t.size()-1,pre=0;
        while(right1>=0&&right2>=0){
            int tmp=(s[right1]-'0')+(t[right2]-'0')+pre;
            pre=tmp/10;
            s[right1]='0'+tmp%10;
            right1--;
            right2--;
        }
        while(right1>=0){
            int tmp=(s[right1]-'0')+pre;
            pre=tmp/10;
            s[right1]='0'+tmp%10;
            right1--;
        }
        if(pre) s.insert(s.begin(),'0'+pre);
        return s;
    }
};
全部评论

相关推荐

头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务