【剑指offer-Java版】17合并两个排序链表
合并两个排序链表:老生常谈的内容了
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合并两个排序链表相关推荐
- 剑指offer面试题[17]-合并两个排序的链表
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 常考题: 假设两个链表如下: 链表1: 1 -> 3 -> 5 -> ...
- 剑指offer java版 test3—从尾到头打印链表
标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...
- 《剑指Offer》题目:合并两个排序的链表
题目描述:输入两个单调递增的链表list1,list2,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目分析: 1.对于链表题目,首先考虑边界情况,即链表为空的情况,提升代码 ...
- 剑指offer(C++)-JZ25:合并两个排序的链表(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排 ...
- 剑指offer面试题25. 合并两个排序的链表(双指针)
题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 思路 详见链接 代码 class Solution:def mergeTwolists(self, l1:List ...
- 题目17 合并两个排序链表
/ // 7. 题目17 合并两个排序链表 //时间复杂度:O(n), 空间复杂度:O(1) ListNode<int>* MergeSortedLists(ListNode<int ...
- 剑指offer第二版-9.用两个栈实现队列
描述:使用两个栈实现一个队列.队列中实现尾部插入和头部删除函数. 思路:stack1负责插入,stack2负责弹出,如果stack2为空了,将stack1的元素依次弹出并存放到stack2中,之后对s ...
- 剑指offer java版 test42—找出和为S的两个数,左右夹逼法(双指针法)
前言:受上一题的启发,这题自己也编出来了.在碰到这种有序数列的时候,经常会用到双指针法,一个指左边,一个指右边,然后依照规则移动,增加或缩小范围.很实用. 题目: 输入一个递增排序的数组和一个数字S, ...
- 剑指offer java版(三)
二叉搜索树的后序遍历 问题描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 解题思路 对于后序遍历来说, ...
最新文章
- 各样本观察值均加同一常数_对色师傅分享:如何使不同观察者在灯箱下观察的色光一致?...
- FastRepot 列高自适应,自动换行,
- Java 技术篇-使用poi开源jar包实现读取excel实例演示,poi-3.17.jar获取
- Vim 中文件目录浏览插件——NERD tree
- springBoot搭建activiti工作流
- java抽样器处于非活动状态_Codename One中的按钮在Android实际设备上处于非活动状态,但在模拟器下工作...
- 截取全部数值字符并将其转化为数值类型
- 女士怎么就不适合PhP呢,女人可以不美丽,但不能不智慧
- 流程控制介绍,顺序结构、分支结构、循环结构、Promise对象、throw语句、break和continue关键字
- python创建单例模式_Python单例模式的四种创建方式实例解析
- 金融时间序列计算分析题1
- Spring+CXF的WebServices简单示例
- T-SQL AVG Functions
- xp系统怎么解除防火墙阻止_xp系统关闭防火墙方法
- 12306数据库遭泄露,请尽快修改密码
- 华为机试题HJ106
- 自动定时执行任务、定时任务执行的几种实现方法
- 有道云笔记、石墨笔记、 Effie …评论家怎么选?
- liunx下判断c语言是否挂载U盘
- 医药知识图谱项目搭建注意事项(QASystemOnMedicalKG)
热门文章
- 哲学家就餐 java_java模拟哲学家就餐问题
- vue 富文本存储_Vue富文本编辑器
- C++知识点22——使用C++标准库(顺序容器list的初始化、赋值、访问、交换、添加、删除与迭代器失效)
- linux线程超过1024报错,Linux定位c++程序运行异常的经历《实操》
- grdraw显示区域 lisp_lisp函数按功能分类
- 三十一、MySQL 及 SQL 注入
- mydumper 0.6.2 安装,dba的必备备份工具,必须掌握
- SQLite第八课 auth.c授权文件解析
- [Angularjs]ng-show和ng-hide
- 超链接浏览meta name=format-detection/ 的用法