[leetcode] 【链表】86. Partition List

原创 2016年05月30日 16:43:35

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的值放到大于等于x的值之前。即
Given 1->4->3->2->5->2 and x = 3,

return 1->2->2->4->3->5.

同时,两部分的节点要保持原来链表的节点顺序。

题解

创建两个链表,一个存储小的,一个存储大于等于的。
最后把两个链表相连即可。
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* partition(ListNode* head, int x) {
        ListNode small(-1);
        ListNode big(-1);
        auto small_p=&small;
        auto big_p=&big;
        for(ListNode *cur=head;cur;cur=cur->next)
        {
            if(cur->val<x)
            {
                small_p->next=cur;
                small_p=cur;
            }
            else
            {
                big_p->next=cur;
                big_p=cur;
            }
        }
        big_p->next=NULL;
        small_p->next=big.next;
        return small.next;
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

【leetcode】【86】Partition List

一、问题描述 Given a linked list and a value x, partition it such that all nodes less than x come bef...
  • xiaoliucool1314
  • xiaoliucool1314
  • 2016年03月03日 11:16
  • 674

LeetCode 86(Partition List)java

原题:Given a linked list and a value x, partition it such that all nodes less than x come before n...
  • Jassy1994
  • Jassy1994
  • 2016年11月24日 16:02
  • 422

leetcode_86_Partition List

思路: 刚开始试着把所有小于x的结点依次插到前面去,但是因为第一个和最后结点的问题真的把我搞得焦头烂额,后来想想,用我媳妇想到的方法可能更清晰一点,用两个链表分别连接小于和大于等于x 的结点,然后再...
  • dfb198998
  • dfb198998
  • 2015年02月05日 21:57
  • 1043

【LEETCODE】86- Partition List [Python]

Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr...
  • aliceyangxi1987
  • aliceyangxi1987
  • 2016年02月26日 10:46
  • 1124

LeetCode 86 Partition List (Python详解及实现)

【题目】 Given a linked list and a value x,partition it such that all nodes less than x come before nod...
  • yangjingjing9
  • yangjingjing9
  • 2017年08月09日 17:15
  • 114

Leetcode ☞ 86. Partition List ☆

给一个链表和一个值。将链表中小于该值的节点放在前面,大于等于放在后。保持原先的相对顺序...
  • Dr_Unknown
  • Dr_Unknown
  • 2016年03月06日 16:40
  • 188

Leetcode——86. Partition List

题目Given a linked list and a value x, partition it such that all nodes less than x come before nodes ...
  • starstar1992
  • starstar1992
  • 2017年01月26日 19:25
  • 102

LeetCode 86. Partition List

用两条链表维护两个partion, 最后把它们hebing
  • u014674776
  • u014674776
  • 2014年07月23日 04:54
  • 549

[Leetcode] 86. Partition List

Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr...
  • u013897903
  • u013897903
  • 2015年04月01日 02:53
  • 259

[Leetcode]86. Partition List

Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr...
  • sunhero2010
  • sunhero2010
  • 2016年06月29日 16:25
  • 90
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode] 【链表】86. Partition List
举报原因:
原因补充:

(最多只允许输入30个字)