首页 > 其他 > 详细

415. 字符串相加 --LeetCode 每日一题 8.3

时间:2020-08-03 13:20:51      阅读:69      评论:0      收藏:0      [点我收藏+]

题目链接:https://leetcode-cn.com/problems/add-strings/

思路:

模拟,将相同数位对齐,从低到高逐位相加,如果当前位和超过 10,则向高位进一位

用i,j两个指针反序遍历字符串,carry表示进位,模拟计算

 

class Solution {
    public String addStrings(String num1, String num2) {
        StringBuilder s = new StringBuilder();
        int i = num1.length() - 1, j = num2.length() - 1, carry = 0;
        while (i >= 0 || j >= 0 || carry != 0) {
            int x = i < 0 ? 0 : num1.charAt(i--) - ‘0‘;
            int y = j < 0 ? 0 : num2.charAt(j--) - ‘0‘;
            int sum = x + y + carry;
            s.append(sum % 10);//添加到字符串尾部
            carry = sum / 10;
        }
        return s.reverse().toString();//对字符串反转

    }
}

 

415. 字符串相加 --LeetCode 每日一题 8.3

原文:https://www.cnblogs.com/NoWhiteBut/p/13425443.html

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