从个位一次相加即可。
注意进位
最终我们用StringBuffer来存储,需要最后再判断一次进位,并将结果翻转。
public String solve (String s, String t) {
// write code here
int lenS = s.length(), lenT = t.length();
int idxS = lenS - 1;
int idxT = lenT - 1;
int cint = 0;
StringBuffer sb = new StringBuffer();
while(idxS >= 0 || idxT >= 0){
int a = idxS >= 0 ? s.charAt(idxS) - '0' : 0;
int b = idxT >= 0 ? t.charAt(idxT) - '0' : 0;
int sum = a + b + cint;
if(sum > 9){
cint = 1;
}else{
cint = 0;
}
sb.append(sum % 10);
idxS--;
idxT--;
}
if(cint == 1) sb.append(1);
return sb.reverse().toString();
}
京公网安备 11010502036488号