题解 | #大数加法#
大数加法
https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ public String solve (String s, String t) { if (s.length() == 0 || t.length() == 0) return s.length() == 0 ? t : s; int i = s.length() - 1, j = t.length() - 1, carry = 0; StringBuffer res = new StringBuffer(); while (i >= 0 || j >= 0) { int n1 = 0, n2 = 0; if (i >= 0) n1 = s.charAt(i) - '0'; else n1 = 0; if (j >= 0) n2 = t.charAt(j) - '0'; else n2 = 0; int value = n1 + n2 + carry; carry = value / 10; res.append(value % 10); i--; j--; } if (carry > 0) res.append('1'); return res.reverse().toString(); } }