题解 | #大数加法#
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
借用大佬的代码:
两个大数相加可以看做两个字符串从尾部开始逐位转int后求和,利用StringBuilder.insert(0, add)加上StringBuilder.toString()或者StringBuilder.append(add)加上StringBuilder.reverse().toString()。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
publicclassSolution {
publicString solve (String s, String t){
inti = s.length() - 1, j = t.length() - 1;
inttemp = 0;
StringBuilder out = newStringbuilder();
while(i >= 0|| j >= 0|| temp != 0) {
temp += i >= 0? s.charAt(i--) - '0': 0;
temp += j >= 0? t.charAt(j--) - '0': 0;
out.append(temp % 10);
temp = temp / 10;
}
returnout.reverse().toString();
}
}
|