美文网首页
字符串 - 使用字符串模拟两数相加

字符串 - 使用字符串模拟两数相加

作者: greedycr7 | 来源:发表于2020-08-11 19:51 被阅读0次

415. 字符串相加

题目描述:

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
提示:
num1 和num2 的长度都小于 5100
num1 和num2 都只包含数字 0-9
num1 和num2 都不包含任何前导零
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式

算法思想:

解法一:双指针解法
分别定义两个指针,指向字符串str1和字符串str2的尾部,然后,相同位上的数字进行算术加法,同时记录每次加法运算的进位。
传送门

代码实现:

解法一:双指针解法

class Solution {
    public String addStrings(String num1, String num2) {
        int i = num1.length() - 1;
        int j = num2.length() - 1;
        // carry表示进位
        int carry = 0;
        // sum表示每位相加的和
        int sum;
        StringBuilder builder = new StringBuilder();

        while (i >= 0 && j >= 0) {
            sum = (num1.charAt(i)-'0') + (num2.charAt(j) - '0') + carry;
            builder.append(sum % 10);
            carry = sum / 10;
            i --;
            j --;
        }

        while (i >= 0) {
            sum = (num1.charAt(i) - '0') + carry;
            builder.append(sum % 10);
            carry = sum / 10;
            i --;
        }

        while (j >= 0) {
            sum = (num2.charAt(j) - '0') + carry;
            builder.append(sum % 10);
            carry = sum / 10;
            j --;
        }

        if (carry > 0) {
            builder.append(carry);
        }

        return builder.reverse().toString();
    }
}

相关文章

  • 字符串 - 使用字符串模拟两数相加

    415. 字符串相加 题目描述: 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示:num...

  • 字符串模拟大数相加

    题目描述:用字符串模拟两个大数相加。

  • 字符串的拼接和格式化、深浅复制(2018-11-16)

    1、字符串拼接 使用相加+连接 ‘str1’ + ‘str2’ + …… + ‘strN’ 格式化字符串(使用占位...

  • LeetCode解题思路记事本

    文|Seraph 两数之和 两数相加 整数反转 字符串转换整数(atoi) 罗马数字转整数 最长公共前缀 有效的括...

  • String中的秘密

    字符串相加 字符串相加在Java中使用非常频繁,通常情况下使用"+"就可以方便快捷的完成目标,但是你可能听过"+"...

  • JAVA之字符串总结

    一、字符串总结 1.字符串和字符串相加 2.字符串和数字相加 3.计算字符串的长度 4.判断字符串是否相等 5.字...

  • 67. Add Binary

    题目 给定两个二进制字符串 a,b。以字符串的形式返回两数相加之和。二进制高位在前。 解析 解法很简单,主要考虑如...

  • LeetCode-415-字符串相加

    LeetCode-415-字符串相加 415. 字符串相加[https://leetcode-cn.com/pro...

  • Leetcode 67.Add Binary

    题目 题目大意:给定两个二进制数的字符串字符串,返回它们的和的二进制字符串。 开始的思路是将二进制转换成十进制相加...

  • 神奇的Javascript

    在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串和字符串相加,所有...

网友评论

      本文标题:字符串 - 使用字符串模拟两数相加

      本文链接:https://www.haomeiwen.com/subject/dznydktx.html