注意:
數組
num1 和num2 的長度都小於 5100.
code
```num1 和num2 都只包含數字 0-9.``` ```num1 和num2 都不包含任何前導零。```
你不能使用任何內建 BigInteger 庫, 也不能直接將輸入的字符串轉換爲整數形式。
字符串
思路:it
1.把字符串以「,」分紅數組; 2.將2個數值,再分爲數組; 3.將兩個數組倒置; 4.按順序一一作和,超過10,下一位加1; 5.將result[0]==0,的數值去掉; 6.將result2轉爲字符串;
var str= "123"; var str2 ="234";
arr1 = ['1','2','3']; arr2 =['2','3','4'];
arr1 = ['3','2','1']; arr2 =['4','3','2'];
result = ['7','5','3'];
result = '357'
var addStrings = function(num1, num2) { /* 將數字轉化爲數組,並反序*/ let arr1 = num1.split("").reverse(); let arr2 = num2.split("").reverse(); /* 判斷兩個數組的長度 */ if (arr1.length >= arr2.length) { var result = []; result[0] = 0; for (var i = 0; i <= arr1.length - 1; i++) { if (arr2[i] == null) { arr2[i] = 0; } /* 將結果相加,滿10向前一位進1,並減去當前的值的十位 */ result[i] = result[i] + Number(arr1[i]) + Number(arr2[i]); if (result[i] >= 10) { result[i] = result[i] - 10; result[i + 1] = 1; } else { result[i + 1] = 0; } } } else { var result = []; result[0] = 0; for (var i = 0; i <= arr2.length - 1; i++) { if (arr1[i] == null) { arr1[i] = 0; } result[i] = result[i] + Number(arr1[i]) + Number(arr2[i]); if (result[i] >= 10) { result[i] = result[i] - 10; result[i + 1] = 1; } else { if (i + 1 <= arr2.length - 1) { result[i + 1] = 0 } } } } result = result.reverse() if (result[0] == 0) { result.shift(0); } var result2 = ''; for (let i = 0; i < result.length; i++) { result2 = result2 + result[i]; } return result2; };