合并两个排序链表:老生常谈的内容了
while循环或者递归

注意:输入链表存在一个空或者两个空

public class _Q17 {public ListNode<Integer> Merge(ListNode<Integer> list1, ListNode<Integer> list2){if(list1 == null) return list2;if(list2 == null) return list1;ListNode result = null;if(list1.value < list2.value){result = list1;result.next = Merge(list1.next, list2);}else{result = list2;result.next = Merge(list1, list2.next);}return result;}}

测试代码:

public class _Q17Test extends TestCase {_Q17 merge = new _Q17();public void test(){ListNode node1 = new ListNode();ListNode node2 = new ListNode();ListNode node3 = new ListNode();ListNode node4 = new ListNode();node1.value = 1;node2.value = 3;node3.value = 5;node4.value = 7;node1.next = node2;node2.next = node3;node3.next = node4;node4.next = null;ListNode node5 = new ListNode();ListNode node6 = new ListNode();ListNode node7 = new ListNode();ListNode node8 = new ListNode();node5.value = 2;node6.value = 4;node7.value = 6;node8.value = 8;node5.next = node6;node6.next = node7;node7.next = node8;node8.next = null;ListNode result = new ListNode(); result.next = merge.Merge(node1, node5);CommonUtils.PrintList(result);}}

【剑指offer-Java版】17合并两个排序链表相关推荐

  1. 剑指offer面试题[17]-合并两个排序的链表

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 常考题: 假设两个链表如下: 链表1:   1  ->  3 -> 5 -> ...

  2. 剑指offer java版 test3—从尾到头打印链表

    标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...

  3. 《剑指Offer》题目:合并两个排序的链表

    题目描述:输入两个单调递增的链表list1,list2,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目分析: 1.对于链表题目,首先考虑边界情况,即链表为空的情况,提升代码 ...

  4. 剑指offer(C++)-JZ25:合并两个排序的链表(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排 ...

  5. 剑指offer面试题25. 合并两个排序的链表(双指针)

    题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 思路 详见链接 代码 class Solution:def mergeTwolists(self, l1:List ...

  6. 题目17 合并两个排序链表

    / // 7. 题目17 合并两个排序链表 //时间复杂度:O(n), 空间复杂度:O(1) ListNode<int>* MergeSortedLists(ListNode<int ...

  7. 剑指offer第二版-9.用两个栈实现队列

    描述:使用两个栈实现一个队列.队列中实现尾部插入和头部删除函数. 思路:stack1负责插入,stack2负责弹出,如果stack2为空了,将stack1的元素依次弹出并存放到stack2中,之后对s ...

  8. 剑指offer java版 test42—找出和为S的两个数,左右夹逼法(双指针法)

    前言:受上一题的启发,这题自己也编出来了.在碰到这种有序数列的时候,经常会用到双指针法,一个指左边,一个指右边,然后依照规则移动,增加或缩小范围.很实用. 题目: 输入一个递增排序的数组和一个数字S, ...

  9. 剑指offer java版(三)

    二叉搜索树的后序遍历 问题描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 解题思路 对于后序遍历来说, ...

最新文章

  1. 各样本观察值均加同一常数_对色师傅分享:如何使不同观察者在灯箱下观察的色光一致?...
  2. FastRepot 列高自适应,自动换行,
  3. Java 技术篇-使用poi开源jar包实现读取excel实例演示,poi-3.17.jar获取
  4. Vim 中文件目录浏览插件——NERD tree
  5. springBoot搭建activiti工作流
  6. java抽样器处于非活动状态_Codename One中的按钮在Android实际设备上处于非活动状态,但在模拟器下工作...
  7. 截取全部数值字符并将其转化为数值类型
  8. 女士怎么就不适合PhP呢,女人可以不美丽,但不能不智慧
  9. 流程控制介绍,顺序结构、分支结构、循环结构、Promise对象、throw语句、break和continue关键字
  10. python创建单例模式_Python单例模式的四种创建方式实例解析
  11. 金融时间序列计算分析题1
  12. Spring+CXF的WebServices简单示例
  13. T-SQL AVG Functions
  14. xp系统怎么解除防火墙阻止_xp系统关闭防火墙方法
  15. 12306数据库遭泄露,请尽快修改密码
  16. 华为机试题HJ106
  17. 自动定时执行任务、定时任务执行的几种实现方法
  18. 有道云笔记、石墨笔记、 Effie …评论家怎么选?
  19. liunx下判断c语言是否挂载U盘
  20. 医药知识图谱项目搭建注意事项(QASystemOnMedicalKG)

热门文章

  1. 哲学家就餐 java_java模拟哲学家就餐问题
  2. vue 富文本存储_Vue富文本编辑器
  3. C++知识点22——使用C++标准库(顺序容器list的初始化、赋值、访问、交换、添加、删除与迭代器失效)
  4. linux线程超过1024报错,Linux定位c++程序运行异常的经历《实操》
  5. grdraw显示区域 lisp_lisp函数按功能分类
  6. 三十一、MySQL 及 SQL 注入
  7. mydumper 0.6.2 安装,dba的必备备份工具,必须掌握
  8. SQLite第八课 auth.c授权文件解析
  9. [Angularjs]ng-show和ng-hide
  10. 超链接浏览meta name=format-detection/ 的用法