public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public String solve (String s, String t) {
// write code here
char[] schars = s.toCharArray();
char[] tchars = t.toCharArray();
int count = 1;
final char zero = '0';
StringBuffer sb = new StringBuffer();
//两数相加后整除10后的商
int cb = 0;
while(true){
//从后到前取数组
int sidx = schars.length - count;
int tidx = tchars.length - count;
//下标越界时设为0
int si = sidx >= 0 ? schars[sidx] - zero : 0;
int ti = tidx >= 0 ? tchars[tidx] - zero : 0;
//将上一次整除的商和两数相加
int sum = cb + si + ti;
cb = sum / 10;
sb.append(sum % 10);
count++;
if(schars.length - count < 0 && tchars.length - count < 0){
if(cb > 0){
//商大于0,且两个字符串已遍历完
sb.append(cb);
}
break;
}
}
return sb.reverse().toString();
}
}