LeetCode Algorithm 328. 奇偶链表

题目链接: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;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_43336281/article/details/126042949
今日推荐