剑指offer 16 合并两个排序的链表
来源:互联网 发布:罗替戈汀贴剂淘宝 编辑:程序博客网 时间:2024/05/24 06:15
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路
以链表2为模板,将链表1中的元素按照大小插入到链表2中,从而实现总链表的排序。
/*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 temp1=list1; ListNode temp2=list2; ListNode temp2_pre=new ListNode(0);//需要生成第一个节点,这样好处理链表2的头结点的关系。 temp2_pre.next=temp2; ListNode temp2_final=temp2_pre; ListNode temp2_next=null; ListNode temp1_next=null; while(temp1!=null&&temp2!=null){ if(temp1.val>temp2.val){ while(temp1.val>temp2.val&&temp2.next!=null){ temp2_pre=temp2; temp2=temp2.next; } if(temp2.val>=temp1.val){ temp1_next=temp1.next; temp1.next=temp2; temp2_pre.next=temp1; temp2_pre=temp1; temp1=temp1_next; } else { temp2.next=temp1; break; } } else{ temp1_next=temp1.next; temp1.next=temp2; temp2_pre.next=temp1; temp2_pre=temp1; temp1=temp1_next; } } return temp2_final.next; }}
0 0
- 剑指offer 16 合并两个排序的链表
- 剑指Offer(16)______合并两个排序的链表
- 剑指offer(16)—合并两个排序的链表
- 剑指offer 17-合并两个排序表的链表
- 剑指Offer之合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 【剑指offer】Q17:合并两个排序的链表
- 剑指offer-17:合并两个排序的链表
- 剑指offer系列源码-合并两个排序的链表
- 剑指offer--合并两个排序的链表
- 剑指offer之合并两个排序的链表
- 剑指Offer之 - 合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指Offer-合并两个排序的链表
- 剑指offer:合并两个排序的链表 代码实现
- 《剑指Offer》面试题:合并两个排序的链表
- 合并两个排序的链表(剑指offer)
- codeforces628D. Magic Numbers (数位dp)
- sprintf 格式化
- 《JSON序列化》二
- 云舒天气项目分析之架构
- 顺时针打印数组
- 剑指offer 16 合并两个排序的链表
- Leetcode #34. Search for a Range 范围搜寻 解题报告
- Java设计模式 《工厂模式》
- 应用Fast ICP进行点集或曲面配准 算法解析
- 不用加减乘除实现加法
- 每天laravel-20160701|Repository
- WPFLoading随窗体居中
- ReactiveCocoa入门教程——第二部分
- JSOI2015