文章目录
451.字符串相加1.题目描述2.题目示例3.思路及代码
451.字符串相加
1.题目描述
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
提示:
num1 和num2 的长度都小于 5100 num1 和num2 都只包含数字 0-9 num1 和num2 都不包含任何前导零 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式
2.题目示例
“1”,“2”
返回3
3.思路及代码
思路:不能使用Integer中的库,所以这题就应该使用按位相加,再判断是否有进位即可代码:
class Solution {
public String
addStrings(String num1
, String num2
) {
StringBuilder sb
= new StringBuilder();
int carry
= 0;
int i
= num1
.length() - 1;
int j
= num2
.length() - 1;
while(i
>= 0 || j
>= 0 || carry
!= 0){
if(i
>= 0){
carry
+= num1
.charAt(i
) - '0';
i
--;
}
if(j
>= 0){
carry
+= num2
.charAt(j
) - '0';
j
--;
}
sb
.append(carry
% 10);
carry
/= 10;
}
return sb
.reverse().toString();
}
}