leetcode-字符串相加

415. 字符串相加

题目中已经说明不能使用库函数直接将输入的字符串转换为整数。这就需要我们自己实现大数加法的逻辑,我们可以从两个字符串的最后一位开始,逐位相加,同时记录进位。如果某一位相加的结果超过10,那么需要向前进位。最后将结果转换为字符串返回

python 复制代码
class Solution:
    def addStrings(self, num1: str, num2: str) -> str:
        res = []
        carry = 0
        p1, p2 = len(num1) - 1, len(num2) - 1
        while p1 >= 0 or p2 >= 0:
            x1 = ord(num1[p1]) - ord('0') if p1 >= 0 else 0
            x2 = ord(num2[p2]) - ord('0') if p2 >= 0 else 0
            tmp = x1 + x2 + carry
            carry = tmp // 10
            res.append(tmp % 10)
            p1 -= 1
            p2 -= 1
        if carry:
            res.append(carry)
        return "".join(str(x) for x in res[::-1])
相关推荐
云里雾里!3 小时前
力扣 209. 长度最小的子数组:滑动窗口解法完整解析
数据结构·算法·leetcode
CoderYanger4 小时前
递归、搜索与回溯-穷举vs暴搜vs深搜vs回溯vs剪枝:12.全排列
java·算法·leetcode·机器学习·深度优先·剪枝·1024程序员节
Wenhao.7 小时前
LeetCode Hot100 腐烂的橘子
算法·leetcode·职场和发展
Rock_yzh9 小时前
LeetCode算法刷题——560. 和为 K 的子数组
数据结构·c++·学习·算法·leetcode·职场和发展·哈希算法
nju_spy9 小时前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
做怪小疯子10 小时前
LeetCode 热题 100——二叉树——翻转二叉树
算法·leetcode·职场和发展
做怪小疯子11 小时前
LeetCode 热题 100——二叉树——二叉树的最大深度
算法·leetcode·职场和发展
Maỿbe12 小时前
暴打力扣之优先级队列(堆)
算法·leetcode·职场和发展
Swift社区12 小时前
LeetCode 438 - 找到字符串中所有字母异位词
算法·leetcode·职场和发展
学学学无无止境12 小时前
力扣-位1的个数
leetcode