单链表反转

list* reverse(list* list){
    plist head = list;

    if (head)
    {
        plist next = list->next;
        head->next = NULL;
        
        while(next){
            plist temp = next->next;
            next->next = head;
            head = next;
            next = temp;
        }
        
    }
    return head;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 链表结构 递归和非递归实现都基于下面这张图的原理,不同的是,递归时从后向前,非递归是从前向后,并且非递归要head...
    alonwang阅读 1,391评论 0 1
  • 单链表的反转是一道很基本的算法题,一般可以想到以下三种方法: 方法1:将单链表储存为数组,然后按照数组的索引逆序进...
    vincentgemini阅读 1,456评论 0 0
  • 单链表反转 单链表初始化 输出 反转 释放 实现代码 尚未实现 元素插入 元素删除
    dawter阅读 1,605评论 0 0
  • 最近与人瞎聊,聊到各大厂的面试题,其中有一个就是用java实现单链表反转。闲来无事,决定就这个问题进行一番尝试。 ...
    冬天里的懒喵阅读 9,525评论 1 14
  • 基本问题 如何将单链表反转? 单链表结构定义 算法实现 进阶问题 如何将单链表在指定区间内进行反转? 问题分析 这...
    craneyuan阅读 3,276评论 0 5