public class Partition {
public ListNode partition(ListNode pHead, int x) {
if(pHead==null||pHead.next==null){
return pHead;
}
ListNode cur=pHead;
ListNode aHead=new ListNode(-1);
ListNode bHead=new ListNode(-1);
ListNode a=aHead;
ListNode b=bHead;
while (cur!=null){
if(cur.val<x){
a.next=new ListNode(cur.val);
a=a.next;
}else{
b.next=new ListNode(cur.val);
b=b.next;
}
cur=cur.next;
}
cur=aHead;
while(cur.next!=null&&cur.next.val!=-1){
cur=cur.next;
}
cur.next=bHead.next;
return aHead.next;
}
}
java以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前
最新推荐文章于 2021-11-08 12:59:08 发布