题解 | #链表的奇偶重排#
https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3
思路: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 };