auto-generated entry for Add Strings. the solution files are available below.
solution files
- C++
add-strings/synced-solution.cpp - Python
add-strings/synced-solution.py - TypeScript
add-strings/synced-solution.ts
Collected C++, Python, TypeScript solutions for add strings. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Add Strings. the solution files are available below.
add-strings/synced-solution.cppadd-strings/synced-solution.pyadd-strings/synced-solution.tsdef addStrings(num1, num2):
result = []
carry = class="syntax-number">0
i, j = len(num1) - class="syntax-number">1, len(num2) - class="syntax-number">1
while i >= class="syntax-number">0 or j >= class="syntax-number">0 or carry:
n1 = int(num1[i]) if i >= class="syntax-number">0 else class="syntax-number">0
n2 = int(num2[j]) if j >= class="syntax-number">0 else class="syntax-number">0
total = n1 + n2 + carry
result.append(str(total % class="syntax-number">10))
carry = total class=class="syntax-string">"syntax-comment">// class="syntax-number">10
i -= class="syntax-number">1
j -= class="syntax-number">1
return class="syntax-string">''.join(reversed(result))
class Solution {
public:
string addStrings(string num1, string num2) {
string result = class="syntax-string">"";
int carry = class="syntax-number">0;
int i = num1.length() - class="syntax-number">1;
int j = num2.length() - class="syntax-number">1;
while (i >= class="syntax-number">0 || j >= class="syntax-number">0 || carry) {
int n1 = i >= class="syntax-number">0 ? num1[i] - class="syntax-string">'class="syntax-number">0' : class="syntax-number">0;
int n2 = j >= class="syntax-number">0 ? num2[j] - class="syntax-string">'class="syntax-number">0' : class="syntax-number">0;
int total = n1 + n2 + carry;
result = char((total % class="syntax-number">10) + class="syntax-string">'class="syntax-number">0') + result;
carry = total / class="syntax-number">10;
i--;
j--;
}
return result;
}
};
function addStrings(num1: string, num2: string): string {
let result = class="syntax-string">"";
let carry = class="syntax-number">0;
let i = num1.length - class="syntax-number">1;
let j = num2.length - class="syntax-number">1;
while (i >= class="syntax-number">0 || j >= class="syntax-number">0 || carry) {
const n1 = i >= class="syntax-number">0 ? parseInt(num1[i]) : class="syntax-number">0;
const n2 = j >= class="syntax-number">0 ? parseInt(num2[j]) : class="syntax-number">0;
const total = n1 + n2 + carry;
result = String(total % class="syntax-number">10) + result;
carry = Math.floor(total / class="syntax-number">10);
i--;
j--;
}
return result;
}