题解 | #高精度整数加法#

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6?tpId=37&tags=&title=&difficulty=0&judgeStatus=0&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        while (in.hasNext()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            String b = in.nextLine();
            Stack<Integer> stack=new Stack<>();
            StringBuilder sb=new StringBuilder();
            int length1=a.length();
            int length2=b.length();
            //把短的字符串前面补0
            if(length1>length2){
                for(int i=0;i<length1-length2;i++){
                    sb.append(0);
                }
                sb.append(b);
                b=sb.toString();
            }else{
                for(int i=0;i<length2-length1;i++){
                    sb.append(0);
                }
                sb.append(a);
                a=sb.toString();
            }
            //化为字符数组
            char[] c1=a.toCharArray();
            char[] c2=b.toCharArray();
            int length=c1.length;
            int k=0;//进十标志
            //从数组后面取数,逢十进一,保存进栈
            for(int i=1;i<=c1.length;i++){
                //先转为整数
                int n1=c1[length-i]-'0';
                int n2=c2[length-i]-'0';
                int num=0;
                //两数相加,注意加上标志位,遇十进一
                if(n1+n2+k>=10){
                    num=n1+n2+k-10;
                    k=1;
                }else{
                    num=n1+n2+k;
                    k=0;
                }
                stack.push(num);
            }
            //最后判断第一位是否需要进位
            if(k==1){
                stack.push(1);
            }
            while(stack.size()>0){
                int num=stack.pop();
                System.out.print(num);
            }
            
        }
    }
}

全部评论

相关推荐

皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务