题解 | #大数加法#

大数加法

http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        int n1=s.length();
        int n2=t.length();
        if(s.length()==0)
            return t;
        else if(t.length()==0){
            return s;
        }
        char[]str=s.toCharArray();
        char[]tt=t.toCharArray();
        int i=n1-1;
        int j=n2-1;
        int real=0;
        int digit=0;
        StringBuffer sb=new StringBuffer();
        while((i>=0)&&(j>=0)){
            int num1=str[i]-'0';
            int num2=tt[j]-'0';
            digit=(num2+num1+real)%10;
            sb.append(String.valueOf(digit));
            real=(num2+num1+real)/10;
            i--;
            j--;
        }
        char[]ttttt=str;
        if(i<0){
            i=j;    //交换索引
            ttttt=tt;
            
        }
        if(real!=0){
            while(i>=0){
            int num=ttttt[i]-'0';
            digit=(num+real)%10;
            sb.append(String.valueOf(digit));
            real=(num+real)/10;
            i--;
            }
            
        }
        if(real!=0){
            sb.append("1");
        }
        return sb.reverse().toString();
    }
}
全部评论

相关推荐

耀孝女:就是你排序挂了
点赞 评论 收藏
分享
11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务