给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-strings
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
java:
class Solution {
public String addStrings(String num1, String num2) {
int i = num1.length()-1, j = num2.length()-1, add = 0;
StringBuffer res = new StringBuffer();
while(i>=0 || j>=0 || add!=0){
int a = i>=0 ? num1.charAt(i)-'0' : 0;
int b = j>=0 ? num2.charAt(j)-'0' : 0;
int temp = a + b + add;
res.append(temp%10);
add = temp/10;
i--;
j--;
}
return res.reverse().toString();
}
}
js:
/**
* @param {string} num1
* @param {string} num2
* @return {string}
*/
var addStrings = function(num1, num2) {
let i = num1.length-1, j = num2.length-1, add=0;
let res = [];
while(i>=0 || j>=0 || add!=0){
let a = i>=0 ? num1[i]-'0' : 0;
let b = j>=0 ? num2[j]-'0' : 0;
let temp = a + b + add;
res.push(temp%10);
add = parseInt(temp/10);
i--;
j--;
}
return res.reverse().join('');
};
注意:
- 注意i和j都是≥0
- java使用StringBuffer和append拼接字符串,js用数组,push,join拼接