随笔-给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和
class Solution {
public String addStrings(String num1, String num2) {
if(num1==null || num2==null || num1.length()==0 || num2.length()==0 ){
return "";
}
int len1=num1.length()-1;
int len2=num2.length()-1;
int result=0;
String s="";
int sum;
while(len1>=0||len2>=0){
if(len1<0&&len2>=0){ //num2 没加完
sum=num2.charAt(len2)+result-'0';
if(result!=0){
if(sum>9){
result=1;
s=String.valueOf(sum%10)+s;
}else{
s=String.valueOf(sum%10)+s;
result=0;
}
}else{
s=num2.substring(0,len2+1)+s;
result=0;
break;
}
}
if(len1>=0&&len2<0){
sum=num1.charAt(len1)+result-'0';
if(result!=0){
if(sum>9){
result=1;
s=String.valueOf(sum%10)+s;
}else{
s=String.valueOf(sum%10)+s;
result=0;
}
}else{
s=num1.substring(0,len1+1)+s;
result=0;
break;
}
}
if(len1>=0&&len2>=0){
sum=num1.charAt(len1)+num2.charAt(len2)+result-2*'0';
if(sum>9){
result=1;
s=String.valueOf(sum%10)+s;
}else{
s=String.valueOf(sum)+s;
result=0;
}
}
len1--;
len2--;
}
if(result!=0){
s=Integer.toString(result)+s;
}
return s;
}
}