【原题】
Given two non-negative integers num1 and 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 num2contains 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.
【分析】
求两个字符串类型的数字之和
【Java】
public class Solution {
public String addStrings(String num1, String num2) {
int len1=num1.length()-1;
int len2=num2.length()-1;
StringBuilder sb=new StringBuilder();
int sum=0,carry=0;
while(len1>=0 || len2>=0) {
int first=len1>=0?num1.charAt(len1)-'0':0;
int second=len2>=0?num2.charAt(len2)-'0':0;
sum=carry+first+second;
if(sum<=9){
sb.insert(0,sum);
sum=0;
carry=0;
} else {
sb.insert(0,sum%10);
sum=0;
carry=1;
}
len1--;
len2--;
}
if(carry==1)sb.insert(0,"1");
return sb.toString();
}
}