Merge Two Sorted Lists (Python)
kitt
posted @ 2014年2月10日 16:05
in LeetCode
, 1162 阅读
curr = curr.next执行后要确保curr不是None, 而是一个ListNode, 这就需要预先给curr一个ListNode, 也就是开头的curr = ListNode(0), 调了好久才发现, 晕...
# class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # @param two ListNodes # @return a ListNode def mergeTwoLists(self, l1, l2): flag = True; head = None; curr = ListNode(0) p1 = l1; p2 = l2 while p1 and p2: if p1.val <= p2.val: curr.next = ListNode(p1.val); p1 = p1.next else: curr.next = ListNode(p2.val); p2 = p2.next if flag: head = curr.next; flag = False curr = curr.next while p1: curr.next = ListNode(p1.val); p1 = p1.next if flag: head = curr.next; flag = False curr = curr.next while p2: curr.next = ListNode(p2.val); p2 = p2.next if flag: head = curr.next; flag = False curr = curr.next return head