题解 | #大数加法#

大数加法

https://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
        reverse(s.begin(), s.end());
        reverse(t.begin(),t.end());
        int carry = 0;
        string res = "";
        auto its = s.begin(), itt = t.begin();
        while(its!=s.end() && itt!=t.end()){
            int temp = (*its - '0') + (*itt - '0') + carry;
            res += to_string(temp%10);
            carry = temp / 10;
            its++;
            itt++;
        }
        while(its!= s.end()){
            int temp = (*its - '0') + carry;
            res += to_string(temp%10);
            carry = temp / 10;
            its++;
        }
        while(itt!= t.end()){
            int temp = (*itt - '0') + carry;
            res += to_string(temp%10);
            carry = temp / 10;
            itt++;
        }
        if(carry != 0){
            res += to_string(carry);
        }
        reverse(res.begin(), res.end());
        return res;
    }
};

全部评论

相关推荐

09-24 18:30
已编辑
长春工业大学 产品经理
小肥罗:HR就是好人的缩写哈哈哈哈
点赞 评论 收藏
分享
今天 16:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务