龙空技术网

「教3妹学算法」字符串相加

攻城狮大兵 78

前言:

此时各位老铁们对“java数字相加的算法”可能比较讲究,咱们都需要了解一些“java数字相加的算法”的相关资讯。那么小编也在网络上汇集了一些对于“java数字相加的算法””的相关知识,希望兄弟们能喜欢,姐妹们快快来学习一下吧!

#头条创作挑战赛#

3妹

3妹:2哥,今天周日,出去玩一玩,爬爬山怎么样。

2哥:还出去玩呢,现在全国疫情又反复了, 前段时间上海疫情刚控制住,现在宿州泗县和无锡疫情又爆发了,还是注意一些,不要随便出去走动了。

3妹:哦,是哦,普通公民能做的就是尽量居家,不能防疫添麻烦。

2哥:对,还是在家打会儿游戏吧,来,带你打野。

3妹:切,我对打游戏没兴趣,我还是做几道题,然后看我的韩剧吧

讲课

题目:

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。

你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。

示例 1:

输入:num1 = "11", num2 = "123"

输出:"134"

示例 2:

输入:num1 = "456", num2 = "77"

输出:"533"

示例 3:

输入:num1 = "0", num2 = "0"

输出:"0"

提示:

1 <= num1.length, num2.length <= 10^4

num1 和num2 都只包含数字 0-9

num1 和num2 都不包含任何前导零

java代码:

class Solution {    public String addStrings(String num1, String num2) {        int i = num1.length() - 1;        int j = num2.length() - 1;        int carry = 0;        StringBuilder ans = new StringBuilder();        while (i >= 0 || j >= 0 || carry != 0) {            int x = i >= 0 ? num1.charAt(i) - '0' : 0;            int y = j >= 0 ? num2.charAt(j) - '0' : 0;            int res = x + y + carry;            ans.append(res % 10);            carry = res / 10;            i--;            j--;        }        // 计算完以后的答案需要翻转过来        ans.reverse();        return ans.toString();    }}

标签: #java数字相加的算法 #java数字相加的算法有哪些 #字符串的加法怎么实现