You are given the heads of two sorted linked lists list1 and list2.
Merge the two lists into one sorted list and return the head of the merged list.
Example 1
Input: list1 = [1,2,4], list2 = [1,3,4]
Output: [1,1,2,3,4,4]
Example 2
Input: list1 = [], list2 = []
Output: []
Example 3
Input: list1 = [], list2 = [0]
Output: [0]
Constraints:
The number of nodes in both lists is in range [0, 50].
-100 <= Node.val <= 100
Both lists are sorted in non-decreasing order.
Hint 1: Use a dummy head node to simplify edge cases.
Hint 2: Compare current nodes of both lists and append the smaller one.