解题思路
- 将链表分成两个链表,分别为小于
x的小链表和大于等于x的大链表 - 将小链表与大链表连接即可完成解题
var partition = function(head, x) {
if(!head||!head.next) return head
let vnodeBig = new ListNode(-1,head)
let vnodeSmall = new ListNode(-1,head)
let big = vnodeBig
let small = vnodeSmall
while(head){
if(head.val<x){
small.next = head
small = small.next
}else{
big.next =head
big = big.next
}
head = head.next
}
big.next = null
small.next = vnodeBig.next
return vnodeSmall.next
};