21. Merge Two Sorted Lists
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.
Example:
1 2
| Input: 1->2->4, 1->3->4 Output: 1->1->2->3->4->4
|
Code1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
class Solution: def mergeTwoLists(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ if not l1:return l2 if not l2:return l1
start = None if l1.val < l2.val: start = l1; start.next = self.mergeTwoLists(l1.next, l2) else: start = l2; start.next = self.mergeTwoLists(l1, l2.next)
return start
|
Code2:
1 2 3 4 5 6 7
| class Solution: def mergeTwoLists(self, a, b): if a and b: if a.val > b.val: a, b = b, a a.next = self.mergeTwoLists(a.next, b) return a or b
|