Leetcode篇:合並兩個有序鏈表
阿新 • • 發佈:2018-09-18
fin sel link python clas 鏈表合並 listnode ret har
@author: ZZQ
@software: PyCharm
@file: mergeTwoLists.py
@time: 2018/9/16 20:49
要求:將兩個有序鏈表合並為一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。
e.g.:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
------------------------------------------------------------------------------------------------
# Definition for singly-linked list. class ListNode(object): def __init__(self, x): self.val = x self.next = None class Solution(): def __init__(self): pass def mergeTwoLists(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ if l1 is None and l2 is None: return None if l1 is None: return l2 if l2 is None: return l1 l3 = ListNode(0) head = l3 while l1 is not None and l2 is not None: if l1.val > l2.val: head.next = l2 l2 = l2.next else: head.next = l1 l1 = l1.next head = head.next if l1 is not None and l2 is None: head.next = l1 if l1 is None and l2 is not None: head.next = l2 return head.next
Leetcode篇:合並兩個有序鏈表