长春网站制作公司,网站建设 天台,做网站 小程序前景,wordpress流动公告文章目录 题目链接解题思路解题代码 题目链接
21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1#xff1a; 输入#xff1a;l1 [1,2,4], l2 [1,3,4] 输出#xff1a;[1,1,2,3,4,4] 示例… 文章目录 题目链接解题思路解题代码 题目链接
21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1 输入l1 [1,2,4], l2 [1,3,4] 输出[1,1,2,3,4,4] 示例 2
输入l1 [], l2 [] 输出[] 示例 3
输入l1 [], l2 [0] 输出[0]
解题思路
解法归并排序 使用哑节点 dummy_head 构造一个头节点并使用 curr 指向 dummy_head 用于遍历
解题代码
class Solution:def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) - Optional[ListNode]:dummy_head ListNode(-1)curr dummy_headwhile list1 and list2:if list1.val list2.val:curr.next list1list1 list1.nextelse:curr.next list2list2 list2.nextcurr curr.nextcurr.next list1 if list1 is not None else list2return dummy_head.next