//分别取出奇数链表和偶数链表,将偶数链表放在奇数链表后边即可 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) {
         if (head == null || head.next == null) {
       return head;
         }
      

      // write code here

       ListNode oddPre = new ListNode(-1);                   
        ListNode odd = oddPre;
      
      
      ListNode evenPre = new ListNode(-2);
      ListNode even = evenPre;
       int i = 1;
      ListNode cur = head;
       while (cur != null) {
      
       if (i % 2 != 0) {
           odd.next = cur;
           odd = odd.next;
      
      
       } else {
           even.next = cur;
           even = even.next;
      
       }
       i++;
       ListNode oldCur = cur;
       cur = cur.next;
       oldCur.next = null;
      

      }

      odd.next = evenPre.next;

      return oddPre.next;

    } }