题解 | #大数加法#
大数加法
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) {
// write code here
//创建容器sb用来存放结果值
StringBuilder sb = new StringBuilder();
//定义变量i,j用来指向s,t数组的最后一位
int i = s.length()-1;
int j = t.length()-1;
//count用来记录位数的移动
int count = 0;
//循环条件内判断i,j是否指向数组的最后一位,如果i,j小于0则数据越界,count记录数组位数
//循环一次count往前进1
for(;i >= 0 || j >= 0 || count != 0; i--,j--){
//将数组中的最后一位分别跳出并赋值给变量num1和num2
int num1 = i>=0?s.charAt(i)-'0':0;
int num2 = j>=0?t.charAt(j)-'0':0;
//对两数组中的最后一位上的值和count相加取摸 求出最高位
sb.append((num1+num2+count)%10);
//将count前进1位
count = (num1+num2+count)/10;
}
//将容器的值反转并转化成字符串输出
return sb.reverse().toString();
}
}

