leetcode 86:分隔链表

新建两个链表 一个存放小于x的值,一个存放大于x的值,两个链表相连即可

ListNode* partition(ListNode* head, int x) {
    ListNode* l1=new ListNode(0);
    ListNode*l3=l1;
    ListNode* l2=new ListNode(0);
    ListNode*l4=l2;
    while(head!=NULL){
        if(head->val<x){
            l1->next=head;
            l1=l1->next;
        }else
        {
            l2->next=head;
            l2=l2->next;
        }
        head=head->next;
    }
    l2->next=NULL;
    l1->next=l4->next;
    return l3->next;
}

猜你喜欢

转载自blog.csdn.net/u013263891/article/details/85013350