题解 | #重排链表#

重排链表

http://www.nowcoder.com/practice/3d281dc0b3704347846a110bf561ef6b

 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */

/**
 * 
 * @param head ListNode类 
 * @return  void
 */
void reorderList(struct ListNode* head ) {
    // write code here
    if((!head)||!head->next||!head->next->next)
        return ;
    else{
        struct ListNode*p=head,*q=head,*m=NULL;
        while(q->next){
        while(p->next->next){
            p=p->next;
            m=p->next;
        }
            if(q==p)
                return;
        p->next=NULL;
        m->next=q->next;
        q->next=m;
        q=q->next->next;
        p=q;
    }
    }
}
全部评论
喵啊
点赞 回复 分享
发布于 2023-03-12 17:04 湖北

相关推荐

09-20 22:39
中南大学
故事和酒66:意思就是用了AI辅助也不一定做得出来,还是有区分度,不然他不会让你用的
点赞 评论 收藏
分享
10-10 01:10
已编辑
深圳大学 测试开发
面了100年面试不知...:六月到九月,四个项目一个实习,是魔丸吗
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务