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 ListNode oddHead = new ListNode(-1); ListNode oddTail = oddHead; ListNode evenHead = new ListNode(-1); ListNode evenTail = evenHead; int i = 1; while(head != null) { if (i % 2 != 0) { oddTail.next = new ListNode(head.val); oddTail = oddTail.next; } else { evenTail.next = new ListNode(head.val); evenTail = evenTail.next; } i++; head = head.next; } oddTail.next = evenHead.next; return oddHead.next; } }
1、遍历,产生2条链;
2、组合;
3、去头;