两个有序链表合并 发表于 2022-02-24 分类于 leetcode 阅读次数: Valine: 本文字数: 942 阅读时长 ≈ 1 分钟 迭代方法直接处理1234567891011121314151617181920212223242526# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]: dummy = ListNode() cur = dummy while list1 and list2: if list1.val < list2.val: r = list1 list1 = list1.next else: r = list2 list2 = list2.next # print(r.val, cur.val) cur.next = r cur = r while list1: cur.next = list1 break while list2: cur.next = list2 break return dummy.next 递归方法1234567891011121314151617# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]: if not list1: return list2 if not list2: return list1 if list1.val < list2.val: list1.next = self.mergeTwoLists(list1.next, list2) return list1 else: list2.next = self.mergeTwoLists(list1, list2.next) return list2 坚持原创分享,您的支持将鼓励我继续创作 打赏 微信支付 支付宝 本文作者: Jacob Jin 本文链接: http://kingsleynuaa.github.io/2022/02/24/leetcode/leetcode-linklist-merge/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 欢迎关注我的其它发布渠道 Twitter 微信公众号 ------------- 本文结束,感谢阅读 如有问题可留言交流 -------------