题目:
解决:现将二者长度补充0至长度相等,模拟数据加法从尾部开始相加,并添加进位标志进位为多少,初始为0.
int 转 char,char转int
代码:
public String solve (String s, String t) {
// write code here
int len1 = s.length();
int len2 = t.length();
if(len1<len2)
s = extendString(s,len2);
if(len1>len2)
t = extendString(t,len1);
int len = Math.max(len1,len2);
int tag = 0;
StringBuffer sBuffer = new StringBuffer();
for(int i =len-1;i>=0;i--){
int a = s.charAt(i) - '0';
int b = t.charAt(i) - '0';
int sum = a+b+tag;
tag = sum / 10;
char r = (char)(sum % 10 + '0');
sBuffer.insert(0,r);
}
if(tag!=0)
sBuffer.insert(0,(char)(tag + '0'));
return new String(sBuffer);
}
public static String extendString(String s, int len){
StringBuffer sBuffer = new StringBuffer(s);
for(int i =0;i<len-s.length();i++){
sBuffer.insert(0,'0');
}
return new String(sBuffer);
}