[leetcode] Partition List
2014-05-06 00:12
381 查看
Partition List
分成两个链表,一个比x小,一个比x大,然后再拼接。
分成两个链表,一个比x小,一个比x大,然后再拼接。
#include "iostream" using namespace std; /**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) { if (head==NULL) { return NULL; } //cout<<head->val<<endl; ListNode *small=new ListNode(0); ListNode *big=new ListNode(0); ListNode *p=small; ListNode *q=big; ListNode *current=head; //cout<<current->val<<endl; while (current!=NULL) { if (current->val<x) { p->next=current; current=current->next;//切记,不能使用current++!!! p=p->next; }else{ q->next=current; current=current->next; q=q->next; } } if (p==small||q==big) {//都比x大or小 return head; } //连接两个串 p->next=big->next; q->next=NULL; current=small->next; //记得释放内存 free(small); free(big); return current; } }; int main() { ListNode *t=new ListNode(1); t->next=new ListNode(2); cout<<t->val<<endl; Solution so; ListNode *res= so.partition(t, 2); cout<<res->val<<res->next->val<<endl; return 0; }
相关文章推荐
- [LeetCode]Partition List
- leetcode-Partition List
- leetcode: Partition List
- [LeetCode] Partition List
- 【LeetCode with Python】 Partition List
- [LeetCode刷题记录]Partition List
- LeetCode_Partition List
- [LeetCode][Java] Partition List
- leetcode第一刷_Partition List
- leetcode - Partition List
- LeetCode 86 Partition List
- Leetcode | Partition List
- Leetcode[86]-Partition List
- 【Leetcode】Partition List
- 【LeetCode】Partition List
- [Leetcode 86, medium] Partition List
- 【Leetcode】Partition List (Swap)
- LeetCode(86) Partition List
- LeetCode: Partition List
- Leetcode算法学习日志-86 Partition List