leetcode-top100链表专题二

21.合并两个有序链表

题目链接

21. 合并两个有序链表 - 力扣(LeetCode)

解题代码

class Solution:
    def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
        if not l1: return l2  # 终止条件,直到两个链表都空
        if not l2: return l1
        if l1.val <= l2.val:  # 递归调用
            l1.next = self.mergeTwoLists(l1.next,l2)
            return l1
        else:
            l2.next = self.mergeTwoLists(l1,l2.next)
            return l2

2.两数相加

题目链接

2. 两数相加 - 力扣(LeetCode)

解题思路

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> 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
相关推荐
CoderIsArt10 分钟前
生成一个立方体贴图(Cube Map)
算法·sharpgl
且听风吟ayan16 分钟前
leetcode day20 滑动窗口209+904
算法·leetcode·c#
m0_6759882316 分钟前
Leetcode350:两个数组的交集 II
算法·leetcode·数组·哈希表·python3
_Itachi__17 分钟前
LeetCode 热题 100 160. 相交链表
算法·leetcode·链表
m0_6759882320 分钟前
Leetcode1206:设计跳表
算法·leetcode·跳表·python3
冠位观测者21 分钟前
【Leetcode 每日一题 - 扩展】1512. 好数对的数目
数据结构·算法·leetcode
Joyner201822 分钟前
python-leetcode-路径总和 III
算法·leetcode·职场和发展
南宫生22 分钟前
力扣每日一题【算法学习day.133】
java·学习·算法·leetcode
_Itachi__23 分钟前
LeetCode 热题 100 560. 和为 K 的子数组
数据结构·算法·leetcode
夏末秋也凉23 分钟前
力扣-贪心-55 跳跃游戏
算法·leetcode·游戏