LeetCode-Partition List
2013-10-05 17:21
417 查看
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
View Code
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.
class Solution { public: ListNode *partition(ListNode *head, int x) { // Note: The Solution object is instantiated only once and is reused by each test case. if(head==NULL)return NULL; if(head->next==NULL)return head; ListNode* temp=NULL; ListNode* ptr=head; while(ptr!=NULL&&ptr->val>=x){ temp=ptr; ptr=ptr->next; } ListNode* ret; if(ptr==NULL){ return head; } else if(ptr==head){ //do nothing ret=head; } else{ if(temp!=NULL){ temp->next=ptr->next; } ptr->next=head; ret=ptr; } ListNode* ptr2=ret; while(ptr2->next!=NULL&&ptr2->next->val<x){ ptr2=ptr2->next; //point to insert } ptr=ptr2; while(ptr->next!=NULL){ if(ptr->next->val<x){ temp=ptr->next; ptr->next=temp->next; temp->next=ptr2->next; ptr2->next=temp; ptr2=ptr2->next; } else{ ptr=ptr->next; } } return ret; } };
View Code
相关文章推荐
- LeetCode-JAVA-Partition List
- leetcode--Partition List
- LeetCode Partition List
- 【LeetCode】Partition List
- 【Leetcode】【Medium】Partition List
- [LeetCode] Partition List
- LeetCode-86-Partition List 链表
- leetcode 刷题之路 82 Partition List
- LeetCode(86) Partition List
- LeetCode 86 Partition List
- LeetCode:Partition List
- LeetCode86 Partition List
- 《leetCode》:Partition List
- LeetCode 086 Partition List
- LeetCode Partition List
- LeetCode---Partition List
- [LeetCode] Partition List 分割单链表
- leetcode第一刷_Partition List
- leetcode - Partition List
- LeetCode 86 Partition List