首页 > 其他 > 详细

415. 字符串相加 + 加法模拟

时间:2021-03-06 23:22:11      阅读:22      评论:0      收藏:0      [点我收藏+]

415. 字符串相加

LeetCode_415

题目详情

技术分享图片

方法一:使用暴力法

class Solution {
    public String addStrings(String num1, String num2) {
        int len1 = num1.length();
        int len2 = num2.length();
        int inc = 0;
        String result = "";
        int i=len1-1,j = len2-1;
        for(; i>=0 && j>=0; i--,j--){
            int a = Integer.parseInt(""+num1.charAt(i));
            int b = Integer.parseInt(""+num2.charAt(j));
            int total = inc + a + b;
            inc = total / 10;
            int now = total % 10;
            result = String.valueOf(now) + result;
        }
        if(i >= 0){//num1还有剩余
            for(; i>=0; i--){
                int a = Integer.parseInt(""+num1.charAt(i));
                int total = inc + a;
                 inc = total / 10;
                int now = total % 10;
                result = String.valueOf(now) + result;
            }
        }else if(j >= 0){
            for(; j>=0; j--){
                int b = Integer.parseInt(""+num2.charAt(j));
                int total = inc + b;
                 inc = total / 10;
                int now = total % 10;
                result = String.valueOf(now) + result;
            }
        }
        if(inc != 0)
            result = String.valueOf(inc) + result;
        return result;
    }
}

方法二:使用StringBuilder

class Solution {
    public String addStrings(String num1, String num2) {
        int len1 = num1.length() - 1;
        int len2 = num2.length() - 1;
        int inc = 0;
        StringBuilder sb = new StringBuilder();
        while(len1 >= 0 || len2 >= 0){
            int a = len1 >=0 ? num1.charAt(len1) - ‘0‘ : 0;
            int b = len2 >=0 ? num2.charAt(len2) - ‘0‘ : 0;
            int total = inc + a + b;
            inc = total / 10;
            sb.append(total % 10);
            len1--;
            len2--;
        }
        if(inc == 1)
            sb.append("1");
        sb.reverse();
        return sb.toString();
    }
}

415. 字符串相加 + 加法模拟

原文:https://www.cnblogs.com/GarrettWale/p/14492488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!