剑指offer:合并两个排序的链表
来源:互联网 发布:英语听力软件高中下载 编辑:程序博客网 时间:2024/06/06 14:10
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
方法1:递归
【运行时间:22ms 占用内存:8528k】
/*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; else if(list2==null) return list1; ListNode list=null; if(list1.val<list2.val){ list=list1; list.next=Merge(list1.next,list2); }else{ list=list2; list.next=Merge(list1,list2.next); } return list; }}
方法2:非递归
【运行时间:21ms 占用内存:8768k】
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { ListNode head=new ListNode(-1); ListNode node=head;if(list1==null&&list2==null)return null; if(list1==null)return list2; if(list2==null)return list1; while(list1!=null||list2!=null){ int l1=list1==null?Integer.MAX_VALUE:list1.val; int l2=list2==null?Integer.MAX_VALUE:list2.val; if(l1<=l2){ node.next=new ListNode(l1); node=node.next; if(list1!=null) list1=list1.next; }else{ node.next=new ListNode(l2); node=node.next; if(list2!=null) list2=list2.next; } } return head.next; }}
阅读全文
0 0
- 剑指offer 17-合并两个排序表的链表
- 剑指Offer之合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 【剑指offer】Q17:合并两个排序的链表
- 剑指offer-17:合并两个排序的链表
- 剑指offer系列源码-合并两个排序的链表
- 剑指offer--合并两个排序的链表
- 剑指offer之合并两个排序的链表
- 剑指Offer之 - 合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指Offer-合并两个排序的链表
- 剑指offer:合并两个排序的链表 代码实现
- 《剑指Offer》面试题:合并两个排序的链表
- 合并两个排序的链表(剑指offer)
- 《剑指offer》合并两个排序的链表
- 剑指Offer系列---(19)合并两个排序的链表
- 剑指 offer:合并两个排序的链表
- HDU 6069(素数筛法)
- Java拾遗-标识符及其命名规则
- 【ZOJ
- 百练1936:全在其中题解
- spring Boot环境下dubbo+zookeeper的一个基础讲解与示例
- 剑指offer:合并两个排序的链表
- Linux下打包压缩war、解压war包和jar命令
- 计算机视觉相关会议备忘
- 【jmeter】close对于请求端和响应端不同的含义
- TASKCTL4.5集群部署
- 霍夫变换实现球体追踪opencv
- weex 踩坑记(持续更新中……)
- 大数据生态系统基础:Apache Kafka基础(一):介绍和安装
- HashMap和HashSet的区别