题解 | #链表的奇偶重排#
链表的奇偶重排
https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3
using System; using System.Collections.Generic; /* public class ListNode { public int val; public ListNode next; public ListNode (int x) { val = x; } } */ class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ public ListNode oddEvenList (ListNode head) { // write code here if (head == null) return null; if (head.next == null) return head; if (head.next.next == null) return head; ListNode pR, pJS; pR = pJS = head; ListNode pHOS, pOS; pHOS = pOS = head.next; int nCount = 0; while (head != null) { nCount++; if (nCount % 2 == 1) { ListNode ln = head.next; pJS.next = head; head = ln; pJS = pJS.next; pJS.next = null; } else { ListNode ln = head.next; pOS.next = head; head = ln; pOS = pOS.next; pOS.next = null; } } pJS.next = pHOS; return pR; } }