Leetcode 86 Partition List
2016-09-26 20:44
357 查看
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
return
给链表,将小于X值得搬到前面
用两个链连接两种类型的结点,最后把大链加到小链后面,
注意把最后一位的指针断开,否则可能形成循环链表。
/**
* 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=new ListNode(0);
ListNode* result=small;
ListNode* big=new ListNode(0);
ListNode* result2=big;
while(head!=NULL)
{
if(head->val>=x)
{
big->next=head;
big=big->next;
}
else
{
small->next=head;
small=small->next;
}
head=head->next;
}
big->next=NULL;//把最后一位指针断开,否则会超时
small->next=result2->next;//合并
return result->next;
}
};
You should preserve the original relative order of the nodes in each of the two partitions.
For example,
Given
1->4->3->2->5->2and x = 3,
return
1->2->2->4->3->5.
给链表,将小于X值得搬到前面
用两个链连接两种类型的结点,最后把大链加到小链后面,
注意把最后一位的指针断开,否则可能形成循环链表。
/**
* 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=new ListNode(0);
ListNode* result=small;
ListNode* big=new ListNode(0);
ListNode* result2=big;
while(head!=NULL)
{
if(head->val>=x)
{
big->next=head;
big=big->next;
}
else
{
small->next=head;
small=small->next;
}
head=head->next;
}
big->next=NULL;//把最后一位指针断开,否则会超时
small->next=result2->next;//合并
return result->next;
}
};
相关文章推荐
- [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
- leetcode 86:Partition List
- LeetCode86 Partition List
- LeetCode 86 Partition List (链表)
- 【LeetCode】C# 86、Partition List
- Leetcode[86]-Partition List
- leetcode-86 Partition List
- [Leetcode 86, medium] Partition List
- LeetCode 86 Partition List
- LeetCode 86 Partition List