题解 | #大数加法#

大数加法

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

#include <string>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    string solve(string s, string t) 
    {
        // write code here
        // long long a = stoi(s);
        // long long b = stoi(t);
        // long long c = a + b;
        // cout << c;
        // string ans;
        // while(c != 0)
        // {
        //     int x = c % 10;
        //     char y = x + '0';
        //     ans += y;
        //     c = c / 10;
        // }
        // if (ans.empty())
        // {
        //     ans = "0";
        // }
        // reverse(ans.begin(), ans.end());
        // return ans;
        
        if (s.size() == 0)
        {
            return t;
        }
        if (t.size() == 0)
        {
            return s;
        }

        int m = s.size();
        int n = t.size();
        int carry = 0;
        string ans;

        int i = m - 1, j = n - 1;
        while (i >= 0 || j >= 0 || carry > 0) 
        {
            int sum = carry;
            if (i >= 0) 
            {
                sum += s[i] - '0';
                i--;
            }
            if (j >= 0) 
            {
                sum += t[j] - '0';
                j--;
            }

            carry = sum / 10;
            ans += to_string(sum % 10);
        }

        reverse(ans.begin(), ans.end());
        return ans;
    }
};

全部评论

相关推荐

面试了几家,全程问项目,八股一点都不问,可惜准备了这么久
独角仙梦境:现在感觉问八股像是中场休息一样的,问几个八股放松一下再上强度
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-20 18:18
是不是意味着秋招就完蛋了
花不开柳成荫:如果你是Java,是的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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