和前面一道题非常相像
本质就是模仿十进制加法
package 剑指offer.字符串;
//字符串相加
public class leetcode415字符串相加 {
public String addStrings(String num1, String num2) {
StringBuilder result = new StringBuilder("");
int i = num1.length() - 1, j = num2.length() - 1, carry = 0;
while(i >= 0 || j >= 0){
int n1 = i >= 0 ? num1.charAt(i) - '0' : 0;
int n2 = j >= 0 ? num2.charAt(j) - '0' : 0;
int tmp = n1 + n2 + carry;
carry = tmp>=10?1:0;
int res = tmp>=10?tmp-10:tmp;
result.append(res);
i--; j--;
}
if(carry == 1) {
result.append(1);
}
return result.reverse().toString();
}
}