Algorithem_MergeTwoSortedLists
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.
Example 1:
1 | Input: list1 = [1,2,4], list2 = [1,3,4] |
Example 2:
1 | Input: list1 = [], list2 = [] |
Example 3:
1 | Input: list1 = [], list2 = [0] |
解法
需求是合并两个有序的LinkList,所以解法是
- 判断 list1.val 和 list2.val 的大小,
- 如果 list1.val 小于等于 list2.val,则第一个元素是 list1.val,然后递归 list1.next 和 list2——即比较 list1.next.val 和 list2.val 的大小
- 如果 list1.val 大于 list2.val,则第一个元素是 list2.val,然后递归 list1和 list2.next——即比较 list1.val 和 list2.next.val 的大小
- 如果 list1为空,则返回 list2,如果 list2为空则返回 list1
代码如下:
1 |
|