Leetcode 86. Partition List(链表划分)
来源:互联网 发布:淘宝上怎么联系卖家 编辑:程序博客网 时间:2024/05/29 10:55
题目描述
给定链表和整型值x,将小于x的结点放到链表左边,大于x的结点放到链表右边。
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的结点插入到右链表的尾部,然后将左链表的尾结点指向右链表的头结点,然后返回左链表的头结点。
代码实现
/** * 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) { if (head == null || head.next == null) { return head; } ListNode leftHead = new ListNode(0);//左链表的头结点 ListNode leftTail = leftHead;//左链表的尾结点 ListNode rightHead = new ListNode(0);//右链表的头结点 ListNode rightTail = rightHead;//右链表的尾结点 ListNode p = head; while (p != null) { if (p.val < x) { leftTail.next = p; leftTail = leftTail.next; } else { rightTail.next = p; rightTail = rightTail.next; } p = p.next; } //将左链表的尾结点指向右链表的头结点 leftTail.next = rightHead.next; //将右链表的尾结点的下一个结点置为空 rightTail.next = null; //返回新的头结点 return leftHead.next; }}
1 0
- Leetcode 86. Partition List(链表划分)
- Partition List 链表划分区间@LeetCode
- LeetCode(Partition List) 划分链表
- 【LeetCode】Partition List 链表划分
- leetcode 86. Partition List-链表划分|双指针
- Leetcode 86. Partition List 链表划分 解题报告
- LeetCode 86. Partition List 链表的划分 Python Solution
- LeetCode OJ 之 Partition List (划分链表)
- LintCode 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
- 86. Partition List LeetCode
- Leetcode 86. Partition List
- Python 基础学习篇(一)
- LeetCode 75. Sort Colors
- RedHat 6.1安装Oracle 11.2.0.3
- 使用Jenkins配置Git+Maven的自动化构建
- 蓝桥杯 兰顿蚂蚁
- Leetcode 86. Partition List(链表划分)
- linux下的基本操作05(权限)
- 一个极度复杂的jsp页面
- 心得与体会
- [JZOJ4216]平方和
- kafka权威指南中文版之二
- 设计模式C++实现(7)——外观模式、组合模式
- HDU1007经典最近点对
- Backtrader量化平台教程(一):backtrader的整体框架