题目:合并两个有序链表
使用的是递归的方法
首先判断是否有链表为空,如果是,则直接返回另一个链表
之后对list1和list2的值进行判断,更小者的下一个节点将调用原函数继续递归(比如情况一,list1的值更小,就让list1的next节点继续调用函数,将list1剩下的节点继续与list2比较)
1ListNode* mergeTwoLists(ListNode* list1, ListNode* list2)
2 {
3 if(list1 == nullptr) return list2;
4 if(list2 == nullptr) return list1;
5 if(list1->val < list2->val)
6 {
7 list1->next = mergeTwoLists(list1->next, list2);
8 return list1;
9 }
10 else
11 {
12 list2->next = mergeTwoLists(list1, list2->next);
13 return list2;
14 }
15 }