2021-03-17 leetcode刷题

本文介绍了一种解决LeetCode上两数相加问题的Python算法实现。该算法通过链表形式表示两个非负整数,并返回它们相加后的结果。文章详细展示了如何通过遍历链表并使用进位来逐步计算出最终结果。
https://leetcode-cn.com/problems/add-two-numbers/

def addition_of_two_numbers(l1, l2):
    len1 = len(l1)
    len2 = len(l2)
    if len1 < len2:
        l3 = l1
        l1 = l2
        l2 = l3

    carry = 0
    for ii in range(len1):
        if ii < len2:
            temp = l1[ii] + l2[ii] + carry
        else:
            temp = l1[ii] + carry

        if temp > 9:
            carry = 1
            l1[ii] = temp - 10
        else:
            carry = 0
            l1[ii] = temp

    if carry > 0:
        l1.append(1)
    return l1

if __name__ == '__main__':
    l1 = [2,4,3]
    l2 = [5,6,4]
    print(addition_of_two_numbers(l1, l2))

    l1 = [0]
    l2 = [0]
    print(addition_of_two_numbers(l1, l2))

    l1 = [9, 9, 9, 9, 9, 9, 9]
    l2 = [9, 9, 9, 9]
    print(addition_of_two_numbers(l1, l2))
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值