You are given the heads of two sorted linked lists list1 and list2. Merge the two lists in a one sorted list. The list should be made by splicing together the nodes of the first two lists. Return the head of the merged linked list.
Sample Input:
[1, 2, 4], [1, 3, 4]
Sample Output:
[1, 1, 2, 3, 4, 4]
Hints
Hint 1
Use two pointers, one for each array
Hint 2
Compare elements and add the smaller one to result
Hint 3
Add remaining elements after one array is exhausted