<p>You are given the heads of two sorted linked lists <code>list1</code> and <code>list2</code>.</p> <p>Merge the two lists in a one <strong>sorted</strong> list. The list should be made by splicing together the nodes of the first two lists.</p> <p>Return <em>the head of the merged linked list</em>.</p> <p> </p> <p><strong>Example 1:</strong></p> <img alt="" src="https://assets.leetcode.com/uploads/2020/10/03/merge_ex1.jpg" style="width: 662px; height: 302px;" /> <pre> <strong>Input:</strong> list1 = [1,2,4], list2 = [1,3,4] <strong>Output:</strong> [1,1,2,3,4,4] </pre> <p><strong>Example 2:</strong></p> <pre> <strong>Input:</strong> list1 = [], list2 = [] <strong>Output:</strong> [] </pre> <p><strong>Example 3:</strong></p> <pre> <strong>Input:</strong> list1 = [], list2 = [0] <strong>Output:</strong> [0] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li>The number of nodes in both lists is in the range <code>[0, 50]</code>.</li> <li><code>-100 <= Node.val <= 100</code></li> <li>Both <code>list1</code> and <code>list2</code> are sorted in <strong>non-decreasing</strong> order.</li> </ul>