C链表反转(时间复杂度O(n))
面试的时候经常会出现的问题,现在都做一遍,回忆一下,练练手.
这个题目需要注意两点:
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))相关推荐
- C语言链表逆序复杂度为o1,C链表反转(时间复杂度O(n))
面试的时候经常会出现的问题,现在都做一遍,回忆一下,练练手. 这个题目需要注意两点: 1.head->next 要先设置为NULL ,否则反转后,它还是指向之前的next节点 2.需要有一个tm ...
- 【编程2】单链表+单链表反转(LeetCode. 206)
文章目录 一.链表 二.单链表 1.基本概念 (1)单链表 (2)头指针--必有元素 (3)头结点--非必需元素 (4)尾结点 2.查找操作 3.插入操作 4.删除操作 三.设计思想-- 时间 < ...
- Golang 实现【链表反转】
题目 Golang 实现[链表反转] 如何反转一个单链表. 题目示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2-&g ...
- 就地链表反转_数据结构与算法系列之链表操作全集(二)(GO)
以下完整的代码,及测试代码均可从这里获取 https://github.com/Rain-Life/data-struct-by-go 常见的链表操作 单链表反转 方法一:就地反转法 思路 就地反转法 ...
- 经典算法——单向链表反转
1. 题目 单向链表反转是一道经典的求职面试笔试或机试题.给定如下如下链表的节点定义: struct LinkNode {int value;LinkNode* next; }; 比如有一个链表是这样 ...
- 【2022小米秋招(2023校招)】软件开发方向 笔试题1——链表反转
题目: 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 left 到位置 right 的链表节点,返回反转后的链表. 输 ...
- 【数据结构与算法】 01 链表 (单链表、双向链表、循环链表、块状链表、头结点、链表反转与排序、约瑟夫环问题)
一.线性表 1.1 概念与特点 1.2 线性表的存储结构 1.3 常见操作 1.4 应用场景 二.链表 2.1 链表简介 2.2 单向链表(单链表) 2.21 基本概念 2.22 单链表基本操作 2. ...
- 链表反转,指定区间反转,k个一组反转---详解
牛客上的三道反转链表的题,入门题,反转链表有很多种做法,本来做第一题的时候是随便写了一种,然后后面发现我用的方法,在做第二题第三题的时候有点繁琐,所以就把三道题一起考虑了一下,选了一种相对更加清晰的思 ...
- 链表反转的四种方法(栈、头插法、三指针法、递归法)
单链表反转或转置的四种方法 链表的反转实质上是反转链表上的内容: 若链表存储的数据是:1->2->3->4->5; 那么反转后则是:5->4->3->2-&g ...
最新文章
- (0039) iOS 开发之地图之百度vs高德
- 专访资深DBA赵振平:如何成为一名优秀的DBA
- Visual Studio跨平台开发Xamarin
- 【错误记录】Ubuntu 中 ROOT 用户无法启动 Visual Studio Code 开发环境 ( 推荐在普通用户下使用 VSCode 开发环境 )
- lg g7 android9,随着Android 11的临近 LG G7 ThinQ在其最后一家美国运营商处获得了Android 9更新...
- Hello World with Spring 3 MVC
- 桔子浏览器电脑版不显示图片怎么办 看不到图片怎么解决
- [Linux] Ubuntu13.04 搭建OK6410-A开发板的开发环境
- 从二叉树到完全二叉树
- 2021年JAVA原生安卓影视APP源码支持PC+WAP
- windows补丁下载地址
- 渗透技术——ARP攻击
- 分享几点在UG中常用的快捷键!
- 仿迅雷播放器教程 -- 提取exe资源(12)
- 微信公众号授权登录重复登录不跳转
- 【解决】linux磁盘扩容大全:新增磁盘、原磁盘扩容、home分区root分区扩容
- Oracle Redo log 状态及工作原理解析
- 齐齐哈尔大学计算机调剂,2020年齐齐哈尔大学硕士研究生调剂复试工作方案
- 银行业掀起RPA风潮丨RPA应用于银行业9大场景
- 从规范看海洋测绘单验潮站的控制距离