题解 | #链表的奇偶重排#

链表的奇偶重排

https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3

class Solution {
  public:
    ListNode* oddEvenList(ListNode* head) {
        if (head == nullptr || head->next == nullptr || head->next->next == nullptr) {
            return head;
        }
        ListNode* oddListHead = new ListNode(head->val);
        ListNode* oddList = oddListHead;
        ListNode* evenListHead = new ListNode(head->next->val);
        ListNode* evenList = evenListHead;
        auto p = head;
        while (p->next != nullptr && p->next->next != nullptr) {
            p = p->next->next;
            auto q = new ListNode(p->val);
            oddList->next = q;
            oddList = q;
        }
        p = head->next;
        while (p->next != nullptr && p->next->next != nullptr) {
            p = p->next->next;
            auto q = new ListNode(p->val);
            evenList->next = q;
            evenList = q;
        }
        oddList->next = evenListHead;
        return oddListHead;
    }
};

全部评论

相关推荐

04-22 15:13
已编辑
Java
点赞 评论 收藏
分享
野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务