很简单的一题,就是为了记录。合并两个顺序队列为一个新的队列,并确保顺序。示例如下
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
解题很简单,递归对比即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def mergeTwoLists( self , l1: ListNode, l2: ListNode) - > ListNode:
if l1 = = None and l2 = = None :
return None
elif l1 = = None and l2 ! = None :
return l2
elif l1 ! = None and l2 = = None :
return l1
else :
if l1.val < = l2.val:
l1. next = self .mergeTwoLists(l1. next ,l2)
return l1
else :
l2. next = self .mergeTwoLists(l1,l2. next )
return l2
|