【lc刷题】415 字符串相加

    xiaoxiao2023-11-09  163

    56/300

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

    思路跟02 两数相加 (链表)的相同,食用方法与43 字符串相乘类似,相似题目还有个奇葩的67 二进制求和。

    补充:python中 zip截短 zip_longest补长 的使用

    class Solution: def addStrings(self, num1: str, num2: str) -> str: res, carry = '', 0 for n1, n2 in itertools.zip_longest(num1[::-1],num2[::-1], fillvalue = '0'): n1, n2 = ord(n1) - ord('0'), ord(n2) - ord('0') total = n1 + n2 + carry carry, digit = divmod(total, 10) res = str(digit) + res if carry: res = str(carry) + res return res
    最新回复(0)