链表的头结点head
就是奇链表的头结点,也是结果链表的头结点
链表的head.next
就是偶链表的头结点evenHead
定义俩个指针初始为 ListNode odd = head, even = evenHead
;
指针不断向后移动–> 奇链表先动,偶链表后动。
public ListNode oddEvenList(ListNode head) {
if(head == null) {
return head;
}
ListNode evenHead = head.next;
ListNode odd = head, even = evenHead;
while(even != null && even.next != null) {
odd.next = even.next;
odd = odd.next;
even.next = odd.next;
even = even.next;
}
odd.next = evenHead;
return head;
}