LeetCode:分割链表【86】
LeetCode:分割链表【86】
题目描述
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。
你应当保留两个分区中每个节点的初始相对位置。
示例:
输入: head = 1->4->3->2->5->2, x = 3
输出: 1->2->2->4->3->5
题目分析
这道题有总体思路是从头到尾扫描一次链表,将那些小于的节点放在一条链表上,大的放到一条链表上,最后两条一拼接即可。
由于题目给的条件宽泛,我们可以直接创建新的节点,也可以使用断链法来让节点重新指向。
Java题解
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode partition(ListNode head, int x) {
ListNode less =new ListNode(0);
ListNode over =new ListNode(0); ListNode ptr = head;
ListNode ptrLess = less;
ListNode ptrOver = over; while(ptr!=null)
{
if(ptr.val<x) {
ptrLess.next = new ListNode(ptr.val);
ptrLess=ptrLess.next;
}else{
ptrOver.next=new ListNode(ptr.val);
ptrOver=ptrOver.next;
}
ptr=ptr.next;
}
ptrLess.next=over.next;
return less.next;
}
}
LeetCode:分割链表【86】的更多相关文章
- LeetCode 单链表专题 (一)
目录 LeetCode 单链表专题 <c++> \([2]\) Add Two Numbers \([92]\) Reverse Linked List II \([86]\) Parti ...
- Leetcode解题-链表(2.2.0)基础类
1 基类的作用 在开始练习LeetCode链表部分的习题之前,首先创建好一个Solution基类,其作用就是: Ø 规定好每个子Solution都要实现纯虚函数test做测试: Ø 提供了List ...
- LeetCode之“链表”:Rotate List
题目链接 题目要求: Given a list, rotate the list to the right by k places, where k is non-negative. For exam ...
- 【算法题 14 LeetCode 147 链表的插入排序】
算法题 14 LeetCode 147 链表的插入排序: 解题代码: # Definition for singly-linked list. # class ListNode(object): # ...
- Java实现 LeetCode 86 分割链表
86. 分隔链表 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1 ...
- LeetCode OJ:Partition List(分割链表)
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- leetcode刷题-86分隔链表
题目 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1->4 ...
- Leetcode中单链表题总结
以下是个人对所做过的LeetCode题中有关链表类型题的总结,博主小白啊,若有错误的地方,请留言指出,谢谢. 一.有关反转链表 反转链表是在单链表题中占很大的比例,有时候,会以各种形式出现在题中,是比 ...
- LeetCode No.85,86,87
No.85 MaximalRectangle 最大矩形 题目 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 示例 输入: [ ["1", ...
随机推荐
- layui表格渲染中模板的使用举例
实例一: { field: 'status', align: 'center', title: '活动状态', templet: function (d) { if (d.status == &quo ...
- ajax请求后台返回map类型并如何展示
前台jsp或者ftl文件接收返回结果: <input type="hidden" name="selectedModelListStr" id=" ...
- Editing a Book UVA - 11212 IDA*
You have n equal-length paragraphs numbered 1 to n . Now you want to arrange them in the order of 1 ...
- JetNuke笔记 ( by quqi99 )
http://blog.csdn.net/quqi99/article/details/1624223 ———————————————————————————————————————————————— ...
- [PHP开发必备] 走在大牛的路上 phpstudy最全的开发环境搭建
今天给大家分享我最喜欢的一个工具,也是咱php开发攻城狮亦或程序猿必备的开发神器 -- phpstudy最全的开发环境搭建 这也是我的好朋友,日复一日不断更新的成果,大家有钱的捧个钱场,没钱的捧个人场 ...
- 创建动作-Action:
在Struts2的行动,唯一的要求是,必须有一个无参数的方法,该方法返回一个字符串或结果的对象,必须是一个POJO.如果不带参数的方法不指定,则默认行为是使用execute()方法. 您也可以选择扩展 ...
- Laravel 5.1 Blade模板引擎
为什么要使用blade 它是干什么用的? blade模板引擎使我们写HTML页面的地方,使用它是因为它能给我们提供很多的遍历,减少代码的重复率 提高开发效率.我们写blade的路径是 resource ...
- SQL Server 还原错误“restore database正在异常终止 错误 3154”
今天在还原数据库时,先建立相同名字的数据库,然后在该数据库上右键还原数据库.遇到了这样的一个错误: “备份集中的数据库备份与现有的 'RM_DB' 数据库不同. RESTORE DATABASE 正在 ...
- 《从零开始学Swift》学习笔记(Day43)——构造函数继承
原创文章,欢迎转载.转载请注明:关东升的博客 Swift中的子类构造函数的来源有两种:自己编写和从父类继承.并不是父类的所有的构造函数都能继承下来,能够从父类继承下来的构造函数是有条件的,如下所示. ...
- 关于VUe的生命周期小小的理解
实例化初始化->beforeCreate()->数据监测->事件配置->实例已经创建完成(created),在这一步,实例已完成以下的配置:数据观测(data observer ...