zoukankan      html  css  js  c++  java
  • LeetCode-Partition List

    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 1->4->3->2->5->2 and 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
  • 相关阅读:
    sequence.c
     Link 
    转:MFC中屏蔽ESC和回车关闭对话框
    转:CWebBrowser2去除边框、滚动条、右键菜单
    VC:res协议——从模块中获取资源
    20131213
    20131212
    20131211
    20131205
    20131128
  • 原文地址:https://www.cnblogs.com/superzrx/p/3352606.html
Copyright © 2011-2022 走看看