C递归实现合并两个有序单链表

C递归实现合并两个有序单链表

发现力扣上有简洁的解法
https://leetcode-cn.com/problems/merge-two-sorted-lists/comments/

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* mergeTwoLists(struct ListNode* l1, struct 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;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44880154/article/details/113574489