到时间了
不知道能不能100%通过
郁闷
不过还好写完了
思路就是先逆转,从小位开始逐位相加,和大于10时在前一位占1
function add( a , b ) {
// write code here
if(parseInt(a).toString().length !== a.length || parseInt(b).toString().length !== b.length)
return 'NaN'
const maxLength = a.length >= b.length ? a.length : b.length;
const atest = a.split('').reverse();
const btest = b.split('').reverse();
var result = new Array(maxLength).fill(undefined);
for(let i = 0; i < maxLength; i++) {
var anum = typeof atest[i] !== undefined ? 0 : parseInt(atest[i]);
var bnum = typeof btest[i] !== undefined ? 0 : parseInt(btest[i]);
if(anum + bnum > 10) {
console.log(anum + bnum)
result[i + 1] = 1;
result[i] = result[i] + anum + bnum - 10;
} else {
result[i] = anum + bnum;
}
}
var str = result.reverse().join('')
return str;
}