栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

牛客网:AB11 合并两个排序的链表

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客网:AB11 合并两个排序的链表

这个题我想到的有两个解法,一个是使用双指针,还有就是使用递归。

双指针:定一个存储结果集的对象,然后定义两个指针,一个指向list1 一个list2 然后进行遍历,一直到这两个节点有一个为止,然后把不为空的拼接到新对象上。

递归:左右两个list有一个为空,退出,否则判断大小。

以下是递归的代码

public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
        if (list1 == null){
            return list2;
        }
        if (list2 == null){
            return list1;
        }
        if (list1.val > list2.val){
            list2.next = Merge(list1, list2.next);
            return list2;
        } else{
            list1.next = Merge(list1.next, list2);
            return list1;
        } 
    }
}

欢迎一起讨论算法哈,有兴趣私聊,一起学习

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938296.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号