题解 | #大数加法#
大数加法
http://www.nowcoder.com/questionTerminal/11ae12e8c6fe48f883cad618c2e81475
public String solve(String s, String t) {
int slen = s.length() - 1;
int tlen = t.length() - 1;
int i;
int j;
int carry = 0;
StringBuilder stringBuilder = new StringBuilder();
//从后往前依次进行加法操作
while (slen >= 0 || tlen >= 0 || carry > 0) {
if (slen < 0) {
i = 0;
} else {
i = s.charAt(slen) - '0';
}
if (tlen < 0) {
j = 0;
} else {
j = t.charAt(tlen) - '0';
}
slen--;
tlen--;
int sum = i + j + carry;//模拟进位
stringBuilder.append(sum % 10);//只将与10的余数存储
carry = sum / 10;//进位
}
return stringBuilder.reverse().toString();
}