leetcode Partition List

来源:互联网 发布:c 在线客服系统源码 编辑:程序博客网 时间:2024/06/15 02:54

开辟两个链表分别存放小于和大于等于x的结点

代码

class Solution {public:    ListNode *partition(ListNode *head, int x) {               if(head==NULL)            return head;                    ListNode * smallHead = new ListNode(0);        ListNode * bigHead = new ListNode(0);        ListNode * p = head;        ListNode *q1, *q2;        q1 = smallHead;        q2 = bigHead;                while(p!=NULL)        {            ListNode * tempNode = new ListNode(p->val);            if(p->val<x)            {                q1->next = tempNode;                q1 = tempNode;            }            else            {                q2->next = tempNode;                q2 = tempNode;            }                        p = p->next;        }                q1 = smallHead;         while(q1->next!=NULL)            q1 = q1->next;                    q1->next = bigHead->next;                 return smallHead->next;            }};

0 0
原创粉丝点击