[leetcode] Partition List
来源:互联网 发布:python数据处理教程 编辑:程序博客网 时间:2024/06/02 19:18
Partition List
分成两个链表,一个比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;}
0 0
- LeetCode: Partition List
- LeetCode Partition List
- LeetCode: Partition List
- [Leetcode] Partition List **
- [Leetcode] Partition List
- [LeetCode] Partition List
- leetcode 81: Partition List
- [Leetcode] Partition List
- leetcode 118: Partition List
- [LeetCode]Partition List
- [leetcode]Partition List
- LeetCode-Partition List
- [leetcode] Partition List
- LeetCode - Partition List
- [LeetCode] Partition List
- LeetCode 86: Partition List
- LeetCode:Partition List
- 【leetcode】Partition List
- 关于 二维码 与 NFC 之间的出身贫贱说
- SGU 123. The sum 无敌水题
- 《iOS7 by Tutorials》系列:iOS7的设计精髓(上)
- 必须弄懂的495个C语言问题
- 电压偏移
- [leetcode] Partition List
- easy_install和pip区别
- HOJ 10086方砖问题(简单DP)
- 充分利用CPU高速缓存,提高程序效率(原理篇)
- JVM中栈和堆
- jsp+Servlet验证码实现
- Arduino IDE中avrdude: stk500_getsync(): not in sync: resp=0x00问题解决
- 21天战拖记——Day2:有点改变,但还是懒(2014-05-05)
- linux 超级终端 minicom使用手册