合并两个排序的链表
来源:互联网 发布:2015最新癌症数据统计 编辑:程序博客网 时间:2024/06/11 23:45
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
/*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; }else{ ListNode temp1 = new ListNode(0);//生成表头节点,指向链表,便于前后指针指向链表 temp1.next = list1; ListNode temp2 = list1; ListNode temp3 = null; //将list2插入list1中 while(list2!=null){ temp3 = list2;//保存当前操作的list2节点 list2 = list2.next; while(temp2 != null){ if(temp2.val > temp3.val){ temp1.next = temp3; temp3.next = temp2; temp1 = temp3; break;//找到插入点插入后,即退出当前list1循环 }else{ temp1 = temp2; temp2 = temp2.next; } } if(temp2 == null){ list2 = temp3;//由于list2 = list2.next,故需回退一个节点 break;//temp2为空,则list2无需再循环查找插入点,应跳出当前list2循环 } } if(list2!=null){ temp1.next = list2;//当temp2为空时,表示list1已走到尽头,若此时list2还不为空, //则list2剩下的元素均比list1大,直接接入到temp1即可 } } return list1; }}
0 0
- 两个已排序链表的合并
- 两个已排序链表的合并
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序了的链表
- 合并两个排序的链表
- 23.合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- BlockingQueue
- hibernate对连接池的支持
- 一些linux的基本操作
- 在Android开发中使用Ant 一:环境的搭建及入门
- 从容器和Kubernetes技术看现代云计算的发展轨迹
- 合并两个排序的链表
- IOS学习之——ViewController之间正向传值
- 网络直播电视之M3U8解析篇 (下)
- 字符串计数(动态规划)
- java之Secure communication terminology
- 【DFS】HDU2181哈密顿绕行世界问题
- C++学习笔记之二 C++基础学习2
- adb操作命令详解及大全
- Apriori算法详解