14【题目】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
*  【思路】依次比较两个链表头指针,小者作为合并后的头指针,依次比较,使用递归。

 1 package com.exe3.offer;
 2
 3 /**
 4  * 14【题目】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
 5  *   【思路】依次比较两个链表头指针,小者作为合并后的头指针,依次比较,使用递归。
 6  * @author WGS
 7  *
 8  */
 9 public class MergeLinkList {
10     public static class LinkNode{
11         int val;
12         LinkNode next=null;
13         public LinkNode(){
14
15         }
16         public LinkNode(int n){
17             this.val=n;
18         }
19     }
20     public LinkNode getMergeLinkList(LinkNode headnode1,LinkNode headnode2){
21         if(headnode1==null){
22             return headnode2;
23         }else if(headnode2==null){
24             return headnode1;
25         }
26         LinkNode headNodeOfMergeLinkList=null;
27
28         if(headnode1.val<headnode2.val){
29             headNodeOfMergeLinkList=headnode1;
30             headNodeOfMergeLinkList.next=getMergeLinkList(headnode1.next,headnode2);
31         }else{
32             headNodeOfMergeLinkList=headnode2;
33             headNodeOfMergeLinkList.next=getMergeLinkList(headnode1,headnode2.next);
34         }
35
36
37
38
39         return headNodeOfMergeLinkList;
40
41
42     }
43     public static void main(String[] args){
44         LinkNode node11=new LinkNode(1);
45         LinkNode node12=new LinkNode(3);
46         LinkNode node13=new LinkNode(5);
47         LinkNode node14=new LinkNode(7);
48         node11.next=node12;node12.next=node13;node13.next=node14;
49
50         LinkNode node21=new LinkNode();
51         LinkNode node22=new LinkNode();
52         LinkNode node23=new LinkNode();
53         LinkNode node24=new LinkNode(18);
54         node21.next=node22;node22.next=node23;node23.next=node24;
55
56         LinkNode node=new MergeLinkList().getMergeLinkList(node11, node21);
57         while(node!=null){
58             System.out.println(node.val);
59             node=node.next;
60         }
61     }
62
63
64
65
66
67
68
69
70
71 }

转载于:https://www.cnblogs.com/noaman/p/5415942.html

剑指offer系列14---合并两个升序链表相关推荐

  1. LeetCode 21.23.剑指 Offer II 078. 合并两个有序链表 | C语言版

    LeetCode 21. 合并两个有序链表 | C语言版 LeetCode 21. 合并两个有序链表 题目描述 解题思路 思路一:使用栈 代码实现 运行结果 参考文章: 思路二:减少遍历节点数 代码实 ...

  2. 剑指offer系列-09.用两个栈设计队列

    剑指offer系列第09题.用两个栈设计队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整 ...

  3. 剑指offer系列-06.从尾到头打印链表

    剑指offer系列第06题.从尾到头打印链表 题目描述: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1:输入:head = [1,3,2] 输出:[2,3,1] /* ...

  4. leetcode 打印_剑指 Offer 总结 - leetcode 剑指offer系列

    剑指 Offer 系列完结撒花!! 本篇文章是对整个系列的精华总结, 对系列的每篇文章进行了分类, 并用一句话概括每道题的思路, 方便大家理解和记忆, 当然也包含原文完整链接供大家参考 总的来说, 写 ...

  5. 数组中其余的排除_[leetcode 剑指offer系列] 面试题04. 二维数组中的查找

    题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题的优化空间非常大, 个人感觉很适合作为面试题, 值得一做. 大家在我的公众号"每日精选算法题"中的聊天框中回 ...

  6. 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...

    点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...

  7. 剑指offer python实现_剑指offer系列python实现 日更(三)

    今天来讲讲斐波那契数列和它的孩子们~先讲个冷笑话:今天来一盘斐波那契炒饭,它等于昨天的炒饭加上前天的炒饭 ‍ 7.斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第 ...

  8. 剑指offer系列-03.数组中的重复数字

    剑指offer系列第03题.数组中的重复数字 找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内. 数组中某些数字是重复的,但不知道有几个数字重复了,也不 ...

  9. 剑指offer系列-24.反转链表

    剑指offer系列第24题.反转链表 题目描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例:输入: 1->2->3->4->5->N ...

最新文章

  1. Pytorch Merge操作
  2. scala初学之helloWorld
  3. 使用SharpKit构建客户端Grid控件
  4. C#技术分享【PDF转换成图片——10种方案】(2013-07-25重新整理)
  5. 经验模态分解(Empirical Mode Decomposition ,EMD)特征提取及其原理
  6. l2tp 服务器错误 741
  7. Linux使用PulseAudio设置音频card的默认profile
  8. MongoDB windows 局域网连接
  9. 服务器带外管理默认账号
  10. Angular2 Directive讲解
  11. 关于De-pCode在线工具失效的问题
  12. Xming(windows下的X Server)的使用,在windows下运行你的终端和所有基于XWindow的程序
  13. 剑指offer_4 二叉树遍历
  14. ​LeetCode刷题实战276:栅栏涂色
  15. 旧金山大学的算法可视化学习教程 赞的教程,将抽象的算法可视化,易于理解...
  16. css 背景效果_前端教程 :20个CSS的常用套路附demo的效果实现与源码
  17. (一)立创EDA的安装
  18. 如何在JavaScript中循环遍历JSON响应?
  19. 安装mysql卡在等待页面_MySQL安装到最后一步未响应的五种解决方法
  20. 使用layui模板填充页面数据

热门文章

  1. windows下使用word2vec训练维基百科中文语料全攻略!(三
  2. linux 内核模块开发,linux内核模块开发(示例代码)
  3. dev调试时无法进入下一步_Linux开源实时EtherCAT主站操作系统安装和调试笔记
  4. centos 配置mysql环境变量_Centos7.1部署mysql-5.6.34(笔记)
  5. java 内存分析 ibm_IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)
  6. Windows 安装 Redis
  7. php 三色排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,第2章 排序 | | 第17节 三色排序练习题...
  8. 设备上专用计算机管理办法,计算机设备管理办法
  9. JS-面向对象---属性的特性 / 修改属性的特性
  10. 如何判断链表有环、如何判断两个链表相交