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
andnum2
is < 5100. - Both
num1
andnum2
contains only digits0-9
. - Both
num1
andnum2
does not contain any leading zero. - You must not use any built-in BigInteger library or convert the inputs to integer directly.
package leetcode.easy; public class AddStrings { public String addStrings(String num1, String num2) { final int m = num1.length(); final int n = num2.length(); int p1 = m - 1, p2 = n - 1; int carry = 0; StringBuilder sb = new StringBuilder(); while (p1 >= 0 || p2 >= 0 || carry > 0) { int sum = carry + (p1 >= 0 ? num1.charAt(p1) - '0' : 0) + (p2 >= 0 ? num2.charAt(p2) - '0' : 0); carry = sum / 10; sb.append((char) (sum % 10 + '0')); p1--; p2--; } return sb.reverse().toString(); } @org.junit.Test public void test() { System.out.println(addStrings("0", "0")); } }