以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
数据范围:,字符串仅由'0'~‘9’构成
要求:时间复杂度
function solve( s , t ) { let carry=0,res=''; let sArr = s.split(''),tArr=t.split(''); while(sArr.length || tArr.length){ let num = Number(sArr.pop() || 0) + Number(tArr.pop() || 0) + carry; if(num>9){ carry = 1; num = num % 10 }else{ carry=0; } res = num + res; } if(carry){ res = carry + res; } return res; }
function solve( s , t ) { // write code here // 首先取出大数中长度最长的 let maxLength = Math.max(s.length,t.length); // 用0 补齐长度 s = s.padStart(maxLength,0); t = t.padStart(maxLength,0); // 定义加法过程中需要用到的变量 let a = 0; let b = 0; //进位 let sum = ""; for( let i = maxLength - 1; i >=0; i--){ a = parseInt(s[i]) + parseInt(t[i]) + b; b = Math.floor(a/10); sum = a%10 + sum; } if( b == 1){ sum = "1" + sum; } return sum;