方法:双指针
- 声明两个指针,奇数节点和偶数节点
- 遍历指向最新的下个节点
function oddEvenList( head ) {
if(!head || !head.next) return head;
let odd = head; // 奇数
let even = head.next; // 偶数
let evenhead = even;
while(even && even.next) {
odd.next = odd.next.next // 下个节点指向下下个
even.next = even.next.next; // 下个节点指向下下个
odd = odd.next; // 走到下个新节点
even = even.next; // 走到下个新节点
}
odd.next = evenhead; // 多余的给接上
return head;
}