此题非常巧妙的一个写法
ListNode* oddEvenList(ListNode* head) {
if (head == nullptr || head->next == nullptr) {
return head;
}
ListNode *odd = head, *even = head->next, *evenHead = even;
while (odd->next != nullptr && even->next != nullptr) {
odd->next = even->next;
odd = odd->next;
even->next = odd->next;
even = even->next;
}
odd->next = evenHead;
return head;
}
本文介绍了一种高效的方法来重新排列链表中的节点,将奇数位置的节点与偶数位置的节点分组并进行有序排列。通过迭代遍历链表,并使用指针技巧,实现奇偶节点的顺序反转。这种方法简洁明了,适用于链表操作的基础学习。
741

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



