大数加法

使用栈即可。

  public String solve (String s, String t) {
        // write code here

        int l1=s.length()-1;
        int l2=t.length()-1;
        Deque<Integer> stack=new LinkedList<Integer>();
        int carry=0;

        while (l1>=0||l2>=0||carry!=0){

            carry+=l1>=0?s.charAt(l1--)-'0':0;
            carry+=l2>=0?s.charAt(l2--)-'0':0;

            stack.push(carry%10);
            carry=carry/10;

        }

        StringBuilder sr=new StringBuilder();

        while (!stack.isEmpty()){

            sr.append(stack.pop());

        }

        return sr.toString();

    }



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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