思路:j区分奇数位和偶数位,将其分别存入stack中,然后重新组合链表
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
function oddEvenList( head ) {
// write code here
let jiStack = [];
let oddStack = [];
let j=1;
while(head){
if(j%2==0){
// 偶数位
oddStack.push(head.val);
}else{
jiStack.push(head.val);
}
j++;
head = head.next;
}
let dummy = new ListNode(0);
let Head = dummy;
for(let i=0;i<jiStack.length;i++){
dummy.next = new ListNode(jiStack[i])
dummy = dummy.next;
}
for(let i=0;i<oddStack.length;i++){
dummy.next = new ListNode(oddStack[i])
dummy = dummy.next;
}
return Head.next;
}
module.exports = {
oddEvenList : oddEvenList
};

京公网安备 11010502036488号