leetcode 415 add strings

Given two non-negative integers num1and num2 represented as string, return the sum of num1 and num2.

Note:

  1. The length of both num1 and num2 is < 5100.
  2. Both num1 and num2 contains only digits 0-9.
  3. Both num1 and num2 does not contain any leading zero.
  4. You must not use any built-in BigInteger library or convert the inputs to integer directly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class  {
public String addStrings(String num1, String num2) {
int i=num1.length()-1;
int j=num2.length()-1;
int carry = 0;
StringBuilder ans = new StringBuilder();
while (i>=0 || j>=0) {
int a = i>=0? num1.charAt(i)-'0': 0;
int b = j>=0? num2.charAt(j)-'0': 0;
int sum = (a+b+carry)%10;
carry = (a+b+carry)/10;
ans.insert(0, sum);
j--;
i--;
}
if (carry != 0)
ans.insert(0, carry);
return ans.toString();
}
}