- 算法
栈 - 核心思想
创建一个奇数栈和偶数栈,分别用来保存奇数和偶数。最后用头指针串起来。 - 代码
class Solution {
public ListNode oddEvenList(ListNode head) {
Queue<ListNode> odds = new LinkedList<ListNode>();
Queue<ListNode> even = new LinkedList<ListNode>();
ListNode temp = new ListNode(0,head);
ListNode result = temp;
int len = 1;
while(head != null){
if(len % 2 == 1) odds.offer(head);
else even.offer(head);
len++;
head = head.next;
}
while(!odds.isEmpty()){
temp.next = odds.poll();
temp = temp.next;
}
while(!even.isEmpty()){
temp.next = even.poll();
temp = temp.next;
}
temp.next = null;
return result.next;
}
}