给定一个单链表的头节点head,节点的值类型是整形,再给定一个整数pivot。实现一个调整链表的函数,将链表调整为左部分都是值小于pivot的节点,中间部分都是值等于pivot的节点,右部分都是值大于pivoit的节点
public Node method(Node head , int pivot){
Node lH = null;
Node lT = null;
Node mH = null;
Node mT = null;
Node rH = null;
Node rT = null;
Node next = null;
while(head != null){
next = head.next;
head.next = null;
if(head.value < pivot){
if(lH == null){
lH = head;
lT = head;
}else{
lT.next = head;
lT = head;
}
}else if(head.value == pivot){
if(mH == null){
mH = head;
mT = head;
}else{
mT.next = head;
mT = head;
}
}else if(head.value > pivot){
if(rH == null){
rH = head;
rT = head;
}else{
rT.next = head;
rT = head;
}
}
head = next;
}
if(lH != null){
lT.next = mH;
mT = mT == null ? lT : mT;
}
if(mH != null){
mT.next = rH;
}
return lH != null ? lH : (mH != null ? mH : rH);
}



