您当前的位置: 首页 >  链表

真的没事鸭

暂无认证

  • 3浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

力扣:21-合并两个有序链表

真的没事鸭 发布时间:2022-09-01 20:07:21 ,浏览量:3

题目描述

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例 1:

 

输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = [] 输出:[]

示例 3:

输入:l1 = [], l2 = [0] 输出:[0]  

提示:

两个链表的节点数目范围是 [0, 50] -100 next; } void insert(ListNode* &list,ListNode* &ans) { ans->next=list; ans=ans->next; list=list->next; } };

然后看了一些题解,发现可以用递归方法,而且代码非常简洁,不得不说递归真是个不错的方法

代码实现
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        if (l1 == NULL) {
            return l2;
        }
        if (l2 == NULL) {
            return l1;
        }
        if (l1->val val) {
            l1->next = mergeTwoLists(l1->next, l2);
            return l1;
        }
        l2->next = mergeTwoLists(l1, l2->next);
        return l2;
    }
};
关注
打赏
1663134582
查看更多评论
立即登录/注册

微信扫码登录

0.0825s