leetcode_gym/_problems/mergeSortedLLrecur.md
2026-08-25 19:14:07 -06:00

992 B

layout, title
layout title
page Merge Sorted Linked List (Recursive)

{% highlight python %}

class LinkedListNode:

def __init__(self, val):

    self.val = val
    self.next = None

l1 = LinkedListNode(1) l1.next = LinkedListNode(2) l1.next.next = LinkedListNode(4)

l2 = LinkedListNode(2) l2.next = LinkedListNode(3) l2.next.next = LinkedListNode(4)

def mergeSortedLists(l1, l2):

# if either list is empty, just return the other list
# these are the base cases
if not l1:
    return l2
    
if not l2:
    return l1


# recursively 
if l1.val < l2.val:
    l1.next = mergeSortedLists(l1.next, l2)
    return l1
else:
    l2.next = mergeSortedLists(l2.next, l1)
    return l2

head = mergeSortedLists(l1, l2)

curr = head while curr: print(curr.val) curr=curr.next

{% endhighlight %}

image1