Q12--合并两个排序的链表
来源:互联网 发布:淘宝 第一套人民币 编辑:程序博客网 时间:2024/06/07 07:20
一、题目描述
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。
二、解题思路
1、要有边界判断,判断链表为空的情况
2、可以采用递归的思路
三、Java代码实现
/*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) return list2; if(list2 == null) return list1; ListNode head = null; if(list1.val < list2.val){ head = list1; head.next = Merge(list1.next, list2); } else { head = list2; head.next = Merge(list1, list2.next); } return head; }}//非递归做法public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1 == null) return list2; if(list2 == null) return list1; ListNode head; if(list1.val <= list2.val) { head = list1; list1 = list1.next; } else { head = list2; list2 = list2.next; } ListNode p = head; while(list1 != null && list2 != null){ if(list1.val <= list2.val){ p.next = list1; list1 = list1.next; } else{ p.next = list2; list2 = list2.next; } p = p.next; } if(list1 != null) p.next = list1; if(list2 != null) p.next = list2; return head; }}
0 0
- Q12--合并两个排序的链表
- 两个已排序链表的合并
- 两个已排序链表的合并
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序了的链表
- 合并两个排序的链表
- 23.合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- Intellij Idea for Lombok plugin 编译错误疑问
- Fiddler如何抓取接口
- Java八种基本数据类型的大小,以及他们的封装类。
- 用R语言实现简单的Kmeans聚类
- SA(模拟退火)优化算法MATLAB源码详细中文注解
- Q12--合并两个排序的链表
- 从oracle中导出excel格式数据
- android视频聊天源码下载(wifi)
- C# HTML解析工具HtmlAgilityPack使用实例(一)
- java.lang.AbstractMethodError: com.mysql.jdbc.PreparedStatement.setBinaryStream
- 迭代器模式
- 2016 年 Java 工具和技术的调查:IDEA 已超过
- 【jQueryWEUI】自定义对话框-带有textarea
- 去除select下拉框默认样式以及一些兼容问题