面试的时候经常会出现的问题,现在都做一遍,回忆一下,练练手.

这个题目需要注意两点:

1.head->next 要先设置为NULL ,否则反转后,它还是指向之前的next节点

2.需要有一个tmp指针,临时保存p->next的地址,这个在改变一个节点的next地址时,经常会用到

示意图

代码实现

#include<stdio.h>struct ListNode{int data;ListNode *next;
} ListNode* reverse(ListNode* head){ListNode *p,*tmp ;p = head->next;head->next=NULL;while(p){tmp = p->next; //图1 保存p->nextp->next = head; //图1 反向指向head head = p ; //图2 head 指向p  p = tmp; //图2 p指向p->next }return head;
}

C链表反转(时间复杂度O(n))相关推荐

  1. C语言链表逆序复杂度为o1,C链表反转(时间复杂度O(n))

    面试的时候经常会出现的问题,现在都做一遍,回忆一下,练练手. 这个题目需要注意两点: 1.head->next 要先设置为NULL ,否则反转后,它还是指向之前的next节点 2.需要有一个tm ...

  2. 【编程2】单链表+单链表反转(LeetCode. 206)

    文章目录 一.链表 二.单链表 1.基本概念 (1)单链表 (2)头指针--必有元素 (3)头结点--非必需元素 (4)尾结点 2.查找操作 3.插入操作 4.删除操作 三.设计思想-- 时间 < ...

  3. Golang 实现【链表反转】

    题目 Golang 实现[链表反转] 如何反转一个单链表. 题目示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2-&g ...

  4. 就地链表反转_数据结构与算法系列之链表操作全集(二)(GO)

    以下完整的代码,及测试代码均可从这里获取 https://github.com/Rain-Life/data-struct-by-go 常见的链表操作 单链表反转 方法一:就地反转法 思路 就地反转法 ...

  5. 经典算法——单向链表反转

    1. 题目 单向链表反转是一道经典的求职面试笔试或机试题.给定如下如下链表的节点定义: struct LinkNode {int value;LinkNode* next; }; 比如有一个链表是这样 ...

  6. 【2022小米秋招(2023校招)】软件开发方向 笔试题1——链表反转

    题目: 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 left 到位置 right 的链表节点,返回反转后的链表. 输 ...

  7. 【数据结构与算法】 01 链表 (单链表、双向链表、循环链表、块状链表、头结点、链表反转与排序、约瑟夫环问题)

    一.线性表 1.1 概念与特点 1.2 线性表的存储结构 1.3 常见操作 1.4 应用场景 二.链表 2.1 链表简介 2.2 单向链表(单链表) 2.21 基本概念 2.22 单链表基本操作 2. ...

  8. 链表反转,指定区间反转,k个一组反转---详解

    牛客上的三道反转链表的题,入门题,反转链表有很多种做法,本来做第一题的时候是随便写了一种,然后后面发现我用的方法,在做第二题第三题的时候有点繁琐,所以就把三道题一起考虑了一下,选了一种相对更加清晰的思 ...

  9. 链表反转的四种方法(栈、头插法、三指针法、递归法)

    单链表反转或转置的四种方法 链表的反转实质上是反转链表上的内容: 若链表存储的数据是:1->2->3->4->5; 那么反转后则是:5->4->3->2-&g ...

最新文章

  1. (0039) iOS 开发之地图之百度vs高德
  2. 专访资深DBA赵振平:如何成为一名优秀的DBA
  3. Visual Studio跨平台开发Xamarin
  4. 【错误记录】Ubuntu 中 ROOT 用户无法启动 Visual Studio Code 开发环境 ( 推荐在普通用户下使用 VSCode 开发环境 )
  5. lg g7 android9,随着Android 11的临近 LG G7 ThinQ在其最后一家美国运营商处获得了Android 9更新...
  6. Hello World with Spring 3 MVC
  7. 桔子浏览器电脑版不显示图片怎么办 看不到图片怎么解决
  8. [Linux] Ubuntu13.04 搭建OK6410-A开发板的开发环境
  9. 从二叉树到完全二叉树
  10. 2021年JAVA原生安卓影视APP源码支持PC+WAP
  11. windows补丁下载地址
  12. 渗透技术——ARP攻击
  13. 分享几点在UG中常用的快捷键!
  14. 仿迅雷播放器教程 -- 提取exe资源(12)
  15. 微信公众号授权登录重复登录不跳转
  16. 【解决】linux磁盘扩容大全:新增磁盘、原磁盘扩容、home分区root分区扩容
  17. Oracle Redo log 状态及工作原理解析
  18. 齐齐哈尔大学计算机调剂,2020年齐齐哈尔大学硕士研究生调剂复试工作方案
  19. 银行业掀起RPA风潮丨RPA应用于银行业9大场景
  20. 从规范看海洋测绘单验潮站的控制距离

热门文章

  1. apache为什么更适合处理动态请求_[适合初中级Java程序员修炼手册从0搭建整个Web项目](一)...
  2. uva 11012——Cosmic Cabbages
  3. java 设计作业——学生类的基本练习
  4. 系统I/O小程序-文件拷贝
  5. 【送给Git初学者】
  6. 安装Ubuntu RISC V toolchain失败(网速、git配置原因)
  7. 【计算机系统设计】实践笔记(2)插叙:综合与实现
  8. Java垃圾收集机制
  9. 不看绝对血亏!java字符串转json
  10. 大牛深入讲解!高并发你真的理解透彻了吗