leetcode 328 奇偶链表

Posted 小白进修

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 328 奇偶链表相关的知识,希望对你有一定的参考价值。

地址:https://leetcode-cn.com/problems/odd-even-linked-list/
大意:给定一个链表,把所有的奇数节点排在左边,其他排在右边。
要求:时间复杂度O(n) 空间复杂度O(1)

class Solution {
public:
    ListNode* oddEvenList(ListNode* head) {
        if(head == NULL || head->next == NULL || head->next->next == NULL)
            return head;

        ListNode *oneNode = head;
        ListNode *twoNode = head->next;

        ListNode *secendNode = twoNode->next;

        while(twoNode && twoNode->next){
            secendNode = twoNode->next;

            twoNode->next = twoNode->next->next;
            secendNode->next = oneNode->next;
            oneNode->next = secendNode;

            oneNode = oneNode->next;
            twoNode = twoNode->next;
        }
        return head;
    }
};

以上是关于leetcode 328 奇偶链表的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 328. 奇偶链表c++/java详细题解

leetcode中等328奇偶链表

leetcode中等328奇偶链表

leetcode中等328奇偶链表

leetcode 328 奇偶链表

LeetCode 328. 奇偶链表