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; } }