LeetCode2题:两数相加(python3)

代码思路:如果值大于10,那么就进位到下一个位置l1.next,然后再让l1+l2更新l2的值

python 复制代码
class Solution:
    def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode],carry=0) -> Optional[ListNode]:
        if not l1:
            return l2
        if not l2:
            return l1
        
        l1.val += l2.val
        if l1.val >= 10:
            l1.next = self.addTwoNumbers(ListNode(l1.val // 10), l1.next)
            l1.val %= 10
        l1.next = self.addTwoNumbers(l1.next, l2.next)
        return l1
                
相关推荐
共享家95273 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
疯狂的喵3 小时前
C++编译期多态实现
开发语言·c++·算法
scx201310043 小时前
20260129LCA总结
算法·深度优先·图论
2301_765703143 小时前
C++中的协程编程
开发语言·c++·算法
m0_748708053 小时前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习3 小时前
【算法——c/c++]
c语言·c++·算法
Hgfdsaqwr3 小时前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
一晌小贪欢4 小时前
Python 测试利器:使用 pytest 高效编写和管理单元测试
python·单元测试·pytest·python3·python测试
小文数模4 小时前
2026年美赛数学建模C题完整参考论文(含模型和代码)
python·数学建模·matlab
智码未来学堂4 小时前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法