首页 > 代码库 > leetcode 【 Merge Two Sorted Lists 】 python 实现
leetcode 【 Merge Two Sorted Lists 】 python 实现
题目:
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
代码:oj在线测试通过 Runtime: 208 ms
1 # Definition for singly-linked list. 2 # class ListNode: 3 # def __init__(self, x): 4 # self.val = x 5 # self.next = None 6 7 class Solution: 8 # @param two ListNodes 9 # @return a ListNode10 def mergeTwoLists(self, l1, l2):11 if l1 is None:12 return l213 if l2 is None:14 return l115 16 dummyhead = ListNode(0)17 dummyhead.next = None18 p = dummyhead19 while l1 is not None and l2 is not None:20 if l1.val > l2.val:21 p.next = l222 l2 = l2.next23 else:24 p.next = l125 l1 = l1.next26 p = p.next27 if l1 is not None:28 p.next = l129 else:30 p.next = l231 return dummyhead.next
思路:
虚表头dummyhead设定好了就不要动,设定一个p=hummyhead,然后从处理p.next开始;最后返回hummyhead就可以获得正确的结果
两个表的指针一步步移动,并通过比较val的大小决定哪个插入p.next
注意,每次执行完判断,要移动指针p=p.next
leetcode 【 Merge Two Sorted Lists 】 python 实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。