完善以下代码,以给定x为基准,将链表分割为两部分,所有小于x的结点排在大于或等于x的结点之前。
public LinkedListNode partition(LinkedListNode node, int x)
{
LinkedListNode beforeStart = null;
LinkedListNode afterStart = null;
while( node != null)
{
LinkedListNode next = 1 ;
if (node.data < x)
{
node.next = 2 ;
beforeStart = node;
}
else{
3 = afterStart;
afterStart = node;
}
node = next
}
if(beforeStart == null){ return afterStart;}
LinkedListNode head = beforeStart;
while(beforeStart.next != null){
4 = beforeStart.next;
}
beforeStart.next = 5 ;
return head;
}