合并两个有序的单链表
来源:互联网 发布:月影传说mac版 编辑:程序博客网 时间:2024/05/22 11:41
public Node merge(Node head1 , Node head2){if(head1 == null || head2 == null){return head1 != null ? head1 : head2 ;}Node head = head1.value < head2.value ? head1 : head2 ; //确定合并的头结点Node cur1 = head == head1 ? head1 : head2 ; //cur1引用的是合并头结点所在的链表Node cur2 = head == head1 ? head2 : head1 ; //cur2引用,另一个链表的结点Node pre = null ; // pre 指向合并链表进行中的尾部,即最新加入的结点,上次比较时值较小的结点Node next = null ;while(cur1 != null && cur2 != null){if(cur1.value <= cur2.value){pre = cur1 ;//直接移动下一个节点cur1 = cur1.next ;}else{next = cur2.next ; //临时结点pre.next = cur2 ; //将 cur2插入 到 pre 和 cur1之间,并更新 cur2 和 precur2.next = cur1 ;pre = cur2 ;cur2 = next ;}}//如果cur1空,则直接将cur2链表加入到pre后面,如果cur2空,则不需要调整pre.next = cur1 == null ? cur2 : cur1 ; return head ;} <pre name="code" class="java"> class Node{public int value ;public Node next ;public Node(int value){this.value = value ;}}
0 0
- 两个有序单链表的合并&两个有序数组的合并
- 两个有序单链表的合并
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序单链表
- 合并两个有序单链表
- 合并两个有序单链表
- 两个有序单链表合并
- 合并两个有序单链表
- 合并两个有序单链表
- 合并两个有序单链表
- 合并两个有序单链表
- 关于 Storm 的一篇好文章
- 位操作练习
- 第三章 操作符
- 一起talk C栗子吧(第八十回:C语言实例--进程互斥)
- CC学习C语言 小结No.1
- 合并两个有序的单链表
- 心上莲花:我的一些经历
- 监督学习之Logistic regression——Andrew Ng机器学习笔记(二)
- js刷新页面的几种方法
- 程序猿之华丽转身:五年 == 100W
- Xmapp启动Tomcat时报Jdk、Jre未安装错误的解决方法
- 安卓屏幕适配一次奇怪的bug
- IOS中关于日期,星期几,以及如果更改获取的当前日期的获取问题?
- 运维85条军规