题解 | #链表的奇偶重排#
链表的奇偶重排
https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* public ListNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode oddEvenList (ListNode head) {
// write code here
if(head==null) return null;
ListNode prenode= new ListNode(1);
ListNode tmp=head;
//tmp.next=head;
int i=1;
Deque<ListNode> dq=new LinkedList<>();
while(tmp!=null){
if(i%2==1){
prenode.next=tmp;
prenode=tmp;
}
else{
dq.add(tmp);
}
tmp=tmp.next;
i++;
}
System.out.println(dq.size());
while(!dq.isEmpty()){
prenode.next=dq.poll();
System.out.println(prenode.next.val);
prenode=prenode.next;
}
prenode.next=null;
return head;
}
}

查看14道真题和解析