import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode oddEvenList (ListNode head) {//采用两个List分别保存两中类型节点,然后自己重新建链表
// write code here
ArrayList re1=new ArrayList();
ArrayList re2=new ArrayList();
while(head!=null){
re1.add(head.val);
head=head.next;
if(head!=null){
re2.add(head.val);
head=head.next;
}
}
ListNode first1=new ListNode(0);
ListNode tt1=first1;
ListNode first2=new ListNode(0);
ListNode tt2=first2;
int i=0;
while(i<re1.size()){
ListNode temp=new ListNode((int)re1.get(i));
tt1.next=temp;
tt1=temp;
i++;
}
int j=0;
while(j<re2.size()){
ListNode temp=new ListNode((int)re2.get(j));
tt2.next=temp;
tt2=temp;
j++;
}
tt1.next=first2.next;
return first1.next;
}
}