leetcode算法题之字符串求和
问题描述:两个字符串表示的数字num1和num2,将其求和。(注:数字范围是0-9,且不存在0开头的情况,两长度均不超过5100;不允许使用转数字的内置方法)
**解题思路:**根据索引值从个位开始进行竖式加总,若大于9需要进位1,通过常用到的模以%和/10
function addString(num1,num2){
let len1 = num1.length;
let len2 = num2.length;
let lenmax = Math.max(len1,len2);
let arr = [];
let add = 0;//进位
for(let i = 0; i < lenmax ;i ++){
let n1 = num1.charAt(len1-1-i)-‘0’;
let n2 = num2.charAt(len2-1-i)-‘0’;
let tempsum = n1 + n2 + add;//这里要加进位值
let result = 0;
if(tempsum = 10){
add = 1;
result = 0;
}
else if(tempsum > 10){
add = Math .floor(tempsum/10);
result = tempsum % 10;
}
else {
add = 0:
}
arr.push(result);
}
if(add != 0){
arr.push(add);
}
return arr.reverse().join(‘’);
}