题目链接:328. 奇偶链表
Ideas
算法:遍历
数据结构:链表
思路:话不多说,代码十分通俗易懂,好的代码都不需要注释。
Code
C++
class Solution {
public:
ListNode* oddEvenList(ListNode* head) {
if (head == nullptr || head->next == nullptr || head->next->next == nullptr) return head;
ListNode *oddHead = head, *evenHead = head->next;
ListNode *odd = oddHead, *even = evenHead;
head = head->next->next;
bool oddFlag = true;
while (head != nullptr) {
if (oddFlag) {
odd->next = head;
odd = odd->next;
} else {
even->next = head;
even = even->next;
}
oddFlag = !oddFlag;
head = head->next;
}
odd->next = evenHead;
even->next = nullptr;
return oddHead;
}
};