You are given the heads of two sorted linked lists `list1` and `list2`. Merge the two lists into one sorted list by splicing together the nodes. Return the head of the merged linked list.
checklist Constraints
The number of nodes in both lists is in the range [0, 50]. -100 <= Node.val <= 100 Both lists are sorted in non-decreasing order.