📅  最后修改于: 2023-12-03 15:28:52.073000             🧑  作者: Mango
在一些情况下,我们需要将链表中的奇数节点和偶数节点分别隔离开来。这个问题可以使用两个指针来解决。一个指针用来遍历奇数节点,而另一个指针用来遍历偶数节点。
public ListNode oddEvenList(ListNode head) {
if (head == null)
return null;
ListNode odd = head, even = head.next, evenHead = even;
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;
}
给定链表 1->2->3->4->5->NULL
,
可以通过调用 oddEvenList
方法,输出1->3->5->2->4->NULL
。