# 思路
使用遞迴
# 參考程式碼
/** | |
* Definition for singly-linked list. | |
* struct ListNode { | |
* int val; | |
* ListNode *next; | |
* ListNode() : val(0), next(nullptr) {} | |
* ListNode(int x) : val(x), next(nullptr) {} | |
* ListNode(int x, ListNode *next) : val(x), next(next) {} | |
* }; | |
*/ | |
static auto fast_io = [] | |
{ | |
ios::sync_with_stdio(false); | |
cout.tie(nullptr); | |
cin.tie(nullptr); | |
return 0; | |
}(); | |
class Solution { | |
public: | |
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) | |
{ | |
if (l1 == NULL) return l2; | |
if (l2 == NULL) return l1; | |
if (l1->val < l2->val) | |
{ | |
l1->next = mergeTwoLists(l1->next, l2); | |
return l1; | |
} | |
else | |
{ | |
l2->next = mergeTwoLists(l1, l2->next); | |
return l2; | |
} | |
} | |
}; |