diff --git a/solution/0400-0499/0415.Add Strings/README.md b/solution/0400-0499/0415.Add Strings/README.md index d9de9b6a8a3cc..328a9764fec90 100644 --- a/solution/0400-0499/0415.Add Strings/README.md +++ b/solution/0400-0499/0415.Add Strings/README.md @@ -64,6 +64,27 @@ class Solution { } ``` +### **TypeScript** + +```ts +/** + * @param {string} num1 + * @param {string} num2 + * @return {string} + */ +var addStrings = function(num1, num2) { + let ans = []; + for (let i = num1.length - 1, j = num2.length - 1, sum = 0; i >= 0 || j >= 0 || sum > 0; i--, j--) { + const a = i >= 0 ? parseInt(num1.charAt(i), 10) : 0; + const b = j >= 0 ? parseInt(num2.charAt(j), 10) : 0; + sum += (a + b); + ans.unshift(sum % 10); + sum = Math.floor(sum / 10); + } + return ans.join(""); +}; +``` + ### **...** ``` diff --git a/solution/0400-0499/0415.Add Strings/README_EN.md b/solution/0400-0499/0415.Add Strings/README_EN.md index 0327a3f83ba0f..66b854c0056cb 100644 --- a/solution/0400-0499/0415.Add Strings/README_EN.md +++ b/solution/0400-0499/0415.Add Strings/README_EN.md @@ -79,6 +79,27 @@ class Solution { } ``` +### **TypeScript** + +```ts +/** + * @param {string} num1 + * @param {string} num2 + * @return {string} + */ +var addStrings = function(num1, num2) { + let ans = []; + for (let i = num1.length - 1, j = num2.length - 1, sum = 0; i >= 0 || j >= 0 || sum > 0; i--, j--) { + const a = i >= 0 ? parseInt(num1.charAt(i), 10) : 0; + const b = j >= 0 ? parseInt(num2.charAt(j), 10) : 0; + sum += (a + b); + ans.unshift(sum % 10); + sum = Math.floor(sum / 10); + } + return ans.join(""); +}; +``` + ### **...** ``` diff --git a/solution/0400-0499/0415.Add Strings/Solution.ts b/solution/0400-0499/0415.Add Strings/Solution.ts new file mode 100644 index 0000000000000..fc0f0e3ddaf83 --- /dev/null +++ b/solution/0400-0499/0415.Add Strings/Solution.ts @@ -0,0 +1,16 @@ +/** + * @param {string} num1 + * @param {string} num2 + * @return {string} + */ + var addStrings = function(num1, num2) { + let ans = []; + for (let i = num1.length - 1, j = num2.length - 1, sum = 0; i >= 0 || j >= 0 || sum > 0; i--, j--) { + const a = i >= 0 ? parseInt(num1.charAt(i), 10) : 0; + const b = j >= 0 ? parseInt(num2.charAt(j), 10) : 0; + sum += (a + b); + ans.unshift(sum % 10); + sum = Math.floor(sum / 10); + } + return ans.join(""); +}; \ No newline at end of file