# 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 not l1:
return l2
if not l1:
return l2
head=res=ListNode(0)
while l1 and l2:
if l1.val<l2.val:
res.next=ListNode(l1.val)
l1=l1.next
else:
res.next=ListNode(l2.val)
l2=l2.next
res=res.next
if l1:
while l1:
res.next=ListNode(l1.val)
l1=l1.next
res=res.next
elif l2:
while l2:
res.next=ListNode(l2.val)
l2=l2.next
res=res.next
return head.next