新建两个链表 一个存放小于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;
}