21. 合并两个有序链表

Problem: 21. 合并两个有序链表

解题方法

  • 两个判断条件任意一个为null返回对方
  • 否则l1.value < l2.value
        - 合并l1.next和l2
        - 返回l1
  • 否则l1.value < l2.value
        -  合并l1和l2.next
        - 返回l2

Code

[]
1
2
3
4
5
6
7
8
9
10
11
void merge(ListNode* node1,ListNode* node2) {
if(node1==nullptr) return node2;
if(node2==nullptr) return node1;
if(node1->val<node2->val) {
node1->next=merge(node1->next,node2);
return node1;
}else{
node2->next=merge(node2->next,node1)
return node2;
}
}