lc字符串相加——模拟
不准调用封装好的那些库。手动模拟两数相加,记录进位。主要当其中短的数字计算完了怎么办,技巧为下标为负数时就当做0,相当于补0一样。
class Solution {
public String addStrings(String num1, String num2) {
StringBuilder sum = new StringBuilder();
int p1 = num1.length()-1, p2 = num2.length() - 1;
int n = Math.max(p1, p2) + 1;
int x1 = 0, x2 = 0, x3 = 0, carry = 0;
for(int i = 0;i <= n; i++) {
x1 = (p1 >= 0 ? num1.charAt(p1) - '0':0);
x2 = (p2 >= 0 ? num2.charAt(p2) - '0':0);
x3 = x1 + x2 + carry;
sum.append(x3 % 10);
carry = x3 / 10;
p1--;
p2--;
}
//若最后一个为0,删掉
if(sum.charAt(n) == '0')
sum.deleteCharAt(n);
sum.reverse();
return sum.toString();
}
}
原文地址:https://blog.csdn.net/qq_61587494/article/details/144386208
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!