提示:
num1 和num2 的长度都小于 5100
num1 和num2 都只包含数字 0-9
num1 和num2 都不包含任何前导零
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式
public String addStrings(String num1, String num2) {
int maxLength = 0;
if (num1.length() > num2.length()){
maxLength = num1.length();
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0;i < maxLength - num2.length(); i++){
stringBuilder.append("0");
}
num2 = stringBuilder + num2;
}else {
maxLength = num2.length();
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0;i < maxLength - num1.length(); i++){
stringBuilder.append("0");
}
num1 = stringBuilder + num1;
}
StringBuilder result = new StringBuilder();
boolean isAdd = false;
for (int i = maxLength-1; i >= 0; i--){
int oneChar = num1.charAt(i) -'0';
int twoChar = num2.charAt(i)- '0';
int temp = oneChar + twoChar;
if (isAdd){
temp++;
}
if (temp > 9){
isAdd = true;
result.append(temp % 10);
}else {
isAdd = false;
result.append(temp);
}
}
if (isAdd){
result.append(1);
}
return result.reverse().toString();
}