题解 | #大数加法#
大数加法
https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ string solve(string s, string t) { int sIdx = s.size() - 1, tIdx = t.size() - 1; string ans = ""; int c = 0; // 进位 for (; sIdx >= 0 && tIdx >= 0; sIdx--, tIdx--) { int tmp = s[sIdx] + t[tIdx] - 2 * '0' + c; c = tmp / 10; ans = (char)(tmp % 10 + '0') + ans; } for (;sIdx >= 0; sIdx--) { int tmp = s[sIdx] + c - '0'; c = tmp / 10; ans = (char)(tmp % 10 + '0') + ans; } for (;tIdx >= 0; tIdx--) { int tmp = t[tIdx] + c - '0'; c = tmp / 10; ans = (char)(tmp % 10 + '0') + ans; } if (c) { ans = (char)(c + '0') + ans; } return ans; } };