415. Add Strings
Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.
Note:
The length of both num1 and num2 is < 5100.
Both num1 and num2 contains only digits 0-9.
Both num1 and num2 does not contain any leading zero.
You must not use any built-in BigInteger library or convert the inputs to integer directly.
- TwoPointers
public String addStrings(String num1, String num2) {
int i = num1.length()-1, j = num2.length()-1, carry = 0;
String result = "";
while(i >= 0 || j >= 0) {
int sum = (i >= 0 ? (num1.charAt(i--)-'0') : 0) + (j >= 0 ? (num2.charAt(j--)-'0') : 0) + carry;
result = (sum % 10) + result;
carry = sum / 10;
}
return carry == 1 ? '1' + result : result;
}