
把index为奇数的 和 index为偶数的聚在一起,奇在前偶在后。
第一个node是奇数index.
思路:
奇数index 和 偶数index 分别建两个链表,最后再拼在一起即可。
head就当作奇数链表的头节点,因为第一个节点是不动的。
新建一个节点作为偶数链表的头节点。
public ListNode oddEvenList(ListNode head) {
if(head == null || head.next == null) return head;
ListNode evenHead = new ListNode();
ListNode odd = head;
ListNode even = head.next;
evenHead.next = even;
while(even != null && even.next != null) {
odd.next = even.next;
odd = odd.next;
even.next = odd.next;
even = even.next;
}
odd.next = evenHead.next;
return head;
}
本文介绍了一种将链表中的节点按奇偶索引重新排列的方法。通过创建两个临时链表,分别存放奇数索引和偶数索引的节点,最后将两个链表合并。该算法适用于任何长度的链表,且保持了原始节点的顺序。
490

被折叠的 条评论
为什么被折叠?



