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

链表的奇偶重排

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

模拟

借助两个vector模拟即可

C++代码:

class Solution {
public:
    ListNode* oddEvenList(ListNode* head) {
        if (!head) {return NULL;}
        if (head->next == NULL) {
            return head;
        }
        vector<ListNode *> a, b;
        for (int i = 0; head; i++, head = head->next) {
            if (i & 1) {
                b.push_back(head);
            } else {
                a.push_back(head);
            }
        }
        for (int i = 0; i < a.size() - 1; i++) {
            a[i]->next = a[i + 1];
        }
        for (int i = 0; i < b.size() - 1; i++) {
            b[i]->next = b[i + 1];
        }
        a[a.size() - 1]->next = b[0];
        b[b.size() - 1]->next = NULL;
        return a[0];
    }
};
全部评论

相关推荐

01-14 12:08
门头沟学院 Java
神哥了不得:(非引流)1.既然发出来了简历,就稍微提一点点小建议,确实简历很不错了,练手项目可以换一些质量高的,工作内容,可以加上一些量化指标,比如第一条系统响应速度由多少变成多少,减少了百分之多少,第4条就很不错。2.广投,年前实习招募比较少了
点赞 评论 收藏
分享
2024-12-25 09:09
四川师范大学 运营
想和你交朋友的潜伏者要冲国企:先去沃尔玛亲身感受标准化流程体系,一两年后再跳槽国内任何零售行业,可以有更大选择权吧?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务