Merge two sorted linked lists
Asked in the Interview 2 stage. Given the heads of two singly linked lists sorted in ascending order, merge them into one sorted linked list by reusing the existing nodes.
Implement merge_two_lists(l1, l2), where each input is either a ListNode head or None. Return the head of the merged list. Each ListNode has val and next attributes. The output must preserve duplicate values and use no new list nodes.
def merge_two_lists(l1, l2):