博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer--合并两个排序链表
阅读量:4509 次
发布时间:2019-06-08

本文共 662 字,大约阅读时间需要 2 分钟。

问题描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

思路:首先比较两个链表的头结点,如果链表1的头结点小于链表2的头结点,链表1的头结点将是合并后链表的头结点。然后继续合并两个链表中的剩余结点,两个链表中剩余的结点依然是有序的,因此合并步骤与第一步相同。   显然这是一个递归过程,可用递归函数实现。

代码:

/*public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}*/public class Solution {    public ListNode Merge(ListNode list1,ListNode list2) {        if(list1==null&&list2==null){            return null;        }        if(list1==null){            return list2;        }        if(list2==null){            return list1;        }        ListNode head = null;        if(list1.val

 

转载于:https://www.cnblogs.com/xiaoxli/p/9484138.html

你可能感兴趣的文章
手把手教如何搭建node+egg项目 引入Sequelize
查看>>
Xcode 4 with External Static Library for iPhone Development
查看>>
linux——常用命令清单
查看>>
JS 20180415作业
查看>>
项目追求更高的性能,更高的并发,更高的可用 (1)
查看>>
安卓 okhttp小结
查看>>
cocos2d-x 关于无法找到gl/gl.h头文件错误,以及r.java无法生成解决办法
查看>>
Mysql创建自动生成时间列方法
查看>>
12171131第一次作业
查看>>
argparse
查看>>
Pandas使用to_csv保存中文数据用Excel打开是乱码
查看>>
超大整数计算模拟算法
查看>>
<USACO07JAN>解决问题Problem Solvingの思路
查看>>
docker学习
查看>>
C#3.0入门系列(六)-之OrderBy操作
查看>>
10.25 AITalkUat部署
查看>>
枚举学习
查看>>
阅读《构建之法》第8,9,10章
查看>>
用户体验的重要性
查看>>
第八十一节,CSS3变形效果
查看>>