js面试题 大数相加

function bigSum(str1,str2){
var a=str1.split('');
var b=str2.split('');
var alen=a.length;
var blen=b.length;
var result=[]//结果
var current=0//记录进位
var sum=0//记录当前位
var length=Math.max(alen,blen)
    while(alen=0;i--){
        sum=Number(a[i])+Number(b[i])+Number(current)
        current=sum>=10?parseInt(sum/10)
        sum=sum>=10?parseInt(sum%10):sum
        result.unshift(sum)
    } 
    console.log(result)
    return result.join('').replace('/^0/','')
}
console.log(bigSum('100000000000002222', '111111'))

思路:
1.计算两个字符串长度
2.比较两个字符串长度 不够前面补0
3.从个位开始计算 进行两数相加‘
4.进位初始0 每次计算都要加上进位
5.累计值/10计算当前位,然后压进最前面
6.去除最终结果多余的0
7.返回结果

你可能感兴趣的:(面试,前端)