LeetCode2.2.3(Partition List)
2015-08-29 09:37
405 查看
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater
than or equal to x.
You should preserve the original relative order of the nodes in each of the two partitions.
For example, Given 1->4->3->2->5->2 and x = 3, return 1->2->2->4->3->5.
这道题的思路比较独特,新建两个链表,一个用来搜集比基准元素小的数,另一个用来搜集大于或者等于基准元素的数,然后将这两个链表链接起来皆可以了
than or equal to x.
You should preserve the original relative order of the nodes in each of the two partitions.
For example, Given 1->4->3->2->5->2 and x = 3, return 1->2->2->4->3->5.
这道题的思路比较独特,新建两个链表,一个用来搜集比基准元素小的数,另一个用来搜集大于或者等于基准元素的数,然后将这两个链表链接起来皆可以了
public static void solution_2_2_3(Node head,int x){ Node h1=null,h2=null,temp=head,p1=null,p2=null; while(temp!=null){ if(temp.data<x){ if(h1==null){ h1=temp; p1=temp; } else{ p1.next=temp; p1=temp; } } else{ if(h2==null){ h2=temp; p2=temp; } else{ p2.next=temp; p2=temp; } } temp=temp.next; } p1.next=h2; p2.next=null; for(Node r=h1;r!=null;r=r.next){ System.out.print(r.data+" "); } }
相关文章推荐
- 设计模式心得
- 1023 -- DNA Sorting
- 1022 -- 快乐指数
- 16年华为机试(三)扑克牌大小
- ASP.Net MVC开发基础学习笔记
- 双循环链表(C++)
- OpenGL纹理
- Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
- 奇妙的23点(OJ--3297
- 1021 -- 最后的胜利者
- linux 下结合find 和 rm 删除大量文件
- java多线程 —— 为什么弃用stop和suspend
- [Java Concurrency in Practice]第七章 取消与关闭
- ZOJ 1586 QS Network
- 作用域操作符 :: 的理解
- Ubuntu 12.04 安装深度音乐播放器和百度音乐插件
- Source Insight 多标签插件
- POJ 1065 Wooden Sticks
- android 判断手机中是否有SD卡,USB。静态判断
- 十年前一起搬砖,现在身价相差300亿