题解 | #大数加法#
大数加法
https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
import java.math.BigInteger; import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ public String solve (String s, String t) { // write code here int len = Math.max(s.length(), t.length()); //定义进位值 int shift = 0; StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { int val1 = i < s.length() ? (int) s.charAt(s.length()-i-1) - 48 : 0; int val2 = i < t.length() ? (int) t.charAt(t.length()-i-1) - 48 : 0; //System.out.print(val2); int sum = val1 + val2 + shift; int resInt = sum > 9 ? sum -10 : sum; //System.out.print(resInt); shift = sum > 9 ? 1 : 0; sb.insert(0, ""+resInt); } if (shift == 1) { sb.insert(0,shift); } return sb.toString(); } }