编写算法,对带头结点的单链表实现就地逆置(算法设计题)

思路:将头结点摘下,然后从第一结点开始,依次前插入到头结点的后面(头插法建立单链表),直到最后一个结点为止
代码如下(摘自:C语言中文网):
LinkList Reverse_l(LinkList &L) {
    //L是带头结点的单链表,本算法将L就地逆置
    p = L->next;            //p为工作指针,从第一个元素结点开始
    L->next = NULL;         //先将头结点L的next域置为NULL
    while (p != NULL) {     //依次将元素结点摘下
        r = p->next;        //暂存p的后继
        p->next = L->next;  //将p结点插入到头结点之后
        L->next = p;
        p = r;
    }
    return L;
}


#数据结构与算法面试常考题##笔试题目##笔经##C/C++##笔记##考研#
全部评论
感谢大佬分享!!!!
点赞 回复 分享
发布于 2022-01-14 21:20

相关推荐

LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客企业服务