题解 | #大数加法# C++ 解法,加法基础题,推荐乘法、除法

大数加法

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

题解 | #大数加法#
C++ 解法,加法基础题,推荐乘法、除法

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    string solve(string s, string t) {
        if (s.size() == 0) return t;
        if (t.size() == 0) return s;
        int n = max(s.size(), t.size()) + 1, ind1 = s.size() - 1, ind2 = t.size() - 1, carry = 0;
        string ans(n, '0');
        for (int i = n - 1; i >= 0; --i) {
            int x = ind1 >= 0 ? s[ind1] - '0' : 0;
            int y = ind2 >= 0 ? t[ind2] - '0' : 0;
            int sum = x + y + carry;
            carry = sum / 10;
            sum %= 10;
            ans[i] = sum + '0';
            --ind1;
            --ind2;
        }
        if (ans[0] == '0') return ans.substr(1);
        return ans;
    }
};
全部评论
max使用的哪个库文件
点赞
送花
回复
分享
发布于 2021-12-31 10:31
algorithm
点赞
送花
回复
分享
发布于 2021-12-31 10:34
滴滴
校招火热招聘中
官网直投

相关推荐

5 1 评论
分享
牛客网
牛客企业服务