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.
public class Solution { public String addStrings(String num1, String num2) { StringBuilder sb = new StringBuilder(); int len1 = num1.length(); int len2 = num2.length(); int carry = 0; int idx1 = num1.length(), idx2 = num2.length(); while (carry != 0 || idx1 != 0 || idx2 != 0) { int digit = 0; if(idx1 != 0) { idx1--; digit += num1.charAt(idx1) - '0'; } if(idx2 != 0) { idx2--; digit += num2.charAt(idx2) - '0'; } digit += carry; if(digit > 9) carry = 1; else carry = 0; sb.append(digit%10); } return sb.reverse().toString(); }}新闻热点
疑难解答