LeetCode 86(Partition List)java
来源:互联网 发布:视频加速制作软件 编辑:程序博客网 时间:2024/05/13 12:33
原题: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
.
给一个链表,将小于值x的结点放到所有大于等于值x的结点的前面,不要改变结点之间的顺序(例如1,4,3,2,5,2 将2结点提到至4的前面,但4,3,5的顺序不变);
思路:设置一个变量,记录下链表中第一次出现大于等于值x结点的位置insertPos。之后遍历链表,将所有小于值x的结点提到这个位置上;
需要注意的是,提取结点时的操作:1.当前结点的上一个结点的next指向当前结点的next;2.当前结点的next指向insertPos的next,insertPos的next指向当前结点;
链表的题目主要是考察对链表的操作,以及边界情况的处理;
代码:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode partition(ListNode head, int x) { ListNode preHead=new ListNode(0); preHead.next=head; ListNode pre=preHead; ListNode cur=head; ListNode insertPos=null; while(cur!=null){ //定位需要插入的位置; if(cur.val>=x && insertPos==null){ insertPos=pre; } //插入操作; if(cur.val<x && insertPos!=null){ pre.next=pre.next.next; cur.next=insertPos.next; insertPos.next=cur; insertPos=insertPos.next; cur=pre.next; continue; } pre=pre.next; cur=cur.next; } return preHead.next; }}
0 0
- LeetCode 86(Partition List)java
- LeetCode(86) Partition List
- [Leetcode] Partition List (Java)
- [LeetCode][Java] Partition List
- leetcode:Partition List 【Java】
- LeetCode-JAVA-Partition List
- Partition List leetcode java
- LeetCode 86: Partition List
- LeetCode 86 Partition List
- [leetcode 86] Partition List
- leetcode-86 Partition List
- [LeetCode 86]Partition List
- leetcode || 86、Partition List
- LeetCode---(86) Partition List
- LeetCode 86 Partition List
- Leetcode[86]-Partition List
- leetcode[86]:Partition List
- Leetcode #86 Partition List
- JDNI、dbcp、c3p0、jdbc简单总结--整理
- js 给input输入框添加方向键事件移动光标
- 【札记】spring+mybatiss+c3p0整合访问MySQL的URL配置(有批量修改信息时)
- Mac 安装 redis
- mybatis-generator的使用
- LeetCode 86(Partition List)java
- ArcGIS Engine中QI(查询接口)的多角度思考解析
- 隐藏导航条底部的黑线(shadowImage)四种办法
- PHP命名空间
- SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
- AOE网上的关键路径
- LeetCode 446. Arithmetic Slices II - Subsequence
- zabbix乱码问题
- java清洗文本中非结构化数据(未经同意,不得转载)