当前位置: 首页 > news >正文

单链表经典OJ题:反转链表

题目:

给你单链表的头节点 head ,i请你反转链表,并返回反转后的链表。

图例:

 分析:

根据链表的特征,反转链表的本质便是改变节点内部的指针方向。

将原先指向下一个节点的指针进行修改,将其的指向修改成指向上一个节点。

解法:

根据分析我们可以得出两种解法:

解法1:

  • 定义新链表,和移除元素的做法类似,但是使用的是头插方法。

解法2:

  • 直接在原链表上改变指针的指向,这里需要运用三个指针。
  • 第一个是最开始的设置为NULL的指针n1
  • 第二个是开始从第一个节点开始遍历的n2
  • 第三个是从第二个节点开始遍历的n3。
  • n2是改变方向的,n3是保存下一个节点位置的,n1是被指方向的,三者同时开始遍历,只是遍历的位置不同。

解法2本质:
  • 本质就是原先 节点 1的 1->next  指向的是2 变成了指向NULL。
  •  原先节点2 的 2->next指向3 变成了指向节点1。
  • 开始遍历的时候,首先将n2的指针指向变成n1,而后n1要变成n2,n2要变成n3,n3要变成n3->next

  • 要注意n3在遍历过程中是最早指向NULL的所以要给n3设定一个判定条件,让n3及时停下。 
  • 另外还要判定这个链表是否有节点,那么就是得判定第一个节点head是否存在。

代码演示:

  • 因为n2最后要变成头节点,所以遍历的判定条件是n2是否为空 

相关文章:

单链表经典OJ题:反转链表

题目: 给你单链表的头节点 head ,i请你反转链表,并返回反转后的链表。 图例: 分析: 根据链表的特征,反转链表的本质便是改变节点内部的指针方向。 将原先指向下一个节点的指针进行修改,将其的…...

软考高级信息系统项目管理师系列论文六:论信息系统项目的人力资源管理

软考高级信息系统项目管理师系列论文六:论信息系统项目的人力资源管理 一、人力资源管理相关知识二、摘要三、正文四、总结一、人力资源管理相关知识 软考高级信息系统项目管理师系列之十七:项目人力资源管理二、摘要 2021年7 月,我参加了╳╳市物价局发起的“智慧物价”信息…...

Kubeadm部署k8s集群

目录 主机准备 主机配置 修改主机名(三个节点分别执行) 配置hosts(所有节点) 关闭防火墙、selinux、swap、dnsmasq(所有节点) 安装依赖包(所有节点) 系统参数设置(所有节点) 时间同步(所有节点) 配…...

YOLOv7改进:新机制,扩展DCNv3,基于DCNv2优化 | CVPR2023 InternImage

💡💡💡本文属于原创独家改进:DCNv3优势:1) 共享投射权重;2) 引入多组机制;3)采样点调制标量归一化; DCNv3 | 亲测在多个数据集实现暴力涨点; 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOL…...

SMAP(Soil Moisture Active and Passive)数据下载

SMAP(Soil Moisture Active and Passive)数据下载 打开网站先注册登录用户 然后打开SMAP下载的网站 点击HTTPS File System进入下载页面 然后点击HDF文件下载 下载之后在HDF View里面预览...

【Huawei S5700交换机】产品介绍

产品特点 S5700系列以太网交换机,是华为公司为满足大带宽接入和以太多业务汇聚而推出的新一代绿色节能的全千兆高性能以太交换机。它基于新一代高性能硬件和华为公司统一的VRP(Versatile Routing Platform)平台,具备大容量、高可…...

华为Atlas 200I DK A2开发者套件--基础使用配置

文章目录 前言一、快速开始二、通过路由器联网三、USB相机总结 前言 Atlas 200I DK A2基础使用配置方法。准备好键鼠、显示器、网线、USB拓展器。 一、快速开始 下载最新官方Windows版本昇腾开发者套件一键制卡工具: https://ascend-repo.obs.cn-east-2.myhuaweic…...

C++DAY47

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> #include <QLabel> #include <QLineEdit> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public…...

四边形不等式

区间dp问题&#xff0c;状态转移方程&#xff1a; dp[i][j] min( dp[i][k] dp[k1][j] w[i][j] ) //w[i][j]是从i到j的&#xff0c;一个定值 不随k改变&#xff0c;而且w的值只和i j有关&#xff0c;是它们的二元函数。 其中i<k<j ,初始值dp[i][i]已知。 含义&#x…...

Jmeter(四):请求默认值元件应用,正则表达式提取器元件讲解

Jmeter请求默认值元件应用 HTTP请求默认值 在公司内部进行测试的时候&#xff0c;一般测试环境访问的接口地址&#xff08;服务器名称 或IP&#xff09;、端口、协议一般都是不变的&#xff0c;但http请求取样器每个请求都要求写一遍 这些信息&#xff0c;在实际HTTP请求取样…...

LCR 001. 两数相除

剑指Offer通关 力扣搜索LCR即为剑指Offer的所有题目。 LCR 001. 两数相除 快速乘 解析&#xff1a; 题目规定只能用32位整数&#xff0c;所以取值范围在-2^31 ~ 2^31 - 1 之间。这里的特殊情况为什么不考虑被除数和除数为最大值&#xff1f;因为后面会将所有的数都转为负数…...

LeCun和Bengio“吵”起来了,人工智能是“潘多拉魔盒”吗?

作者 | 谢年年 上周末&#xff0c;深度学习领域最有影响力的三巨头之二Yann LeCun和Yoshua Bengio就AI的潜在风险和安全问题引发了一场激烈辩论&#xff0c;人工智能是“潘多拉魔盒”吗&#xff1f;这场辩论引来众多AI知名人士围观。 LeCun在Facebook上发起了这场辩论&#xff…...

电子期刊制作宝典,让你成为专业行家

电子期刊作为一种新兴的媒体形式&#xff0c;越来越受到人们的喜爱。它不仅方便快捷&#xff0c;而且可以随时随地阅读&#xff0c;不受时间和空间的限制。那么&#xff0c;如何制作一份高质量的电子期刊呢&#xff1f; 1.首先打开FLBOOK电子杂志平台 2.然后点击模板选择电子期…...

ESP32网络开发实例-Web显示传感器实时数据

Web显示传感器实时数据 文章目录 Web显示传感器实时数据1、软件准备2、硬件准备3、代码实现3.1 Web页面代码实现4.2 Web服务器代码实现本文将详细介绍如何使用ESP32在 Web 服务器上绘制传感器读数(温度、湿度和压力)。 ESP32 将托管一个网页,其中包含三个实时图表,每 30 秒…...

ARM Cortex-A9:裸机开发,点亮LED3

1.看原理图 外设板原理图 核心板原理图 2.在芯片手册中找到控制硬件的有效的特殊功能寄存器 选择0x1输出 GPX1DAT[0]->GPX1_0 0->1/0 3.编程 start.s Makefile复制到桌面 使用超级终端&#xff0c;连接串口 随便写一个 选择串口 配置串口 板子上电马上按enter…...

QT学习day2

一、思维导图 作业&#xff1a; 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admi…...

214. Devu和鲜花

214. Devu和鲜花 - AcWing题库 如果每个盒子里的花的数量是无限的&#xff0c;用隔板法可以得出答案是 现在每个盒子中区的花数要满足n个条件 我们可以求答案的补集&#xff0c;用全部方案数减去补集方案数 每一个不符合条件的要求为&#xff0c;设为Bi 补集方案数为就成了…...

【C++初阶(三)引用与内联函数】

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…...

RK3288 Android11 mini-pcie接口 4G模组EC200A适配(含自适应功能)

这里写目录标题 1、修改驱动内核配置①使能USBNET功能②使能 USB 串口 GSM、CDMA 驱动③使能 USB 的 CDC ACM模式④使能PPP功能 2、使用lsusb命令查看是否识别到usb接口的“EC200A”4G模组3、在drivers/usb/serial/option.c添加VID和PID信息①添加VID和PID定义②在option_ids 数…...

Windows安装Jenkins

JDK 11 以上 https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.20_8.msi https://www.jenkins.io/download/ 下载windows安装版本 授权用户administrator logon as services windows(server)安装…...

4D毫米波雷达产品推荐

供应商链接 &#xff1a;https://mp.weixin.qq.com/s/GYarrc9VEZS0FafxRUeG9w 大陆 ARS548 采埃孚 博世 安波福 -------- Waymo MobileEye 华为&#xff08;未找到官网资料&#xff09; ------- 森思泰克 http://www.whst.com/contact.html 芜湖经济技术开发区东区…...

WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤

方法一&#xff1a;使用官方二进制包安装 下载.NET Core 8 SDK 二进制包&#xff1a;访问 .NET Core 8 SDK 官方下载页面&#xff0c;根据你的系统架构选择对应的 Linux x64 版本等下载链接&#xff0c;将其下载到本地4. 创建安装目录&#xff1a;在终端中执行以下命令创建用于…...

PlayWright | 初识微软出品的 WEB 应用自动化测试框架

Playwright是微软大厂背书的跨平台 WEB 应用自动化测试框架&#xff0c;支持多开发语言&#xff08;TypeScript、JavaScript、.Net、Python、Java&#xff09;及多浏览器&#xff08;Chromium、WebKit、Firefox&#xff09;&#xff0c;同时支持移动端测试。 安装 playwright …...

redis进入后台操作、查看key、删除key

cmd进入 redis后台 避免报错NOAUTH Authentication required 第一步 ./redis-cli -h 127.0.0.1 -p 6379第二步 AUTH YourPassword通过key删除redis缓存 进了后台之后输入 keys * 删除key del key1...

linux 故障处置通用流程-36计-14-27

014&#xff1a;查看系统主要日志 查看以下日志&#xff1a; 主要查以下关键字 error/NIC/fs /"link down"/Oout of memory" /var/log/messages /var/log/dmesg 015&#xff1a;主机通讯是否延迟 执行命令&#xff1a; #ping 网关_IP #ping 关联主机_IP ​​​​…...

React Native开发鸿蒙运动健康类应用的项目实践记录

​​项目名称​​&#xff1a;HarmonyFitness - 基于React Native的鸿蒙运动健康应用 ​​技术栈​​&#xff1a;React Native 0.72.5 TypeScript HarmonyOS API ArkTS原生模块 一、环境搭建与项目初始化 ​​双环境配置​​ ​​React Native环境​​&#xff1a; npx re…...

面试题:SQL 中如何将 多行合并为一行(合并行数据为列)?

✅ 面试题&#xff1a;SQL 中如何将 多行合并为一行&#xff08;合并行数据为列&#xff09;&#xff1f; 这是面试和实战中非常常见的场景&#xff0c;属于“行列转换”问题之一&#xff0c;常用于报表聚合、分类汇总、透视表生成等。 go专栏&#xff1a;https://duoke360.co…...

单北斗定位芯片AT9880B

AT9880B 是面向北斗卫星导航系统的单模接收机单芯片&#xff08;SOC&#xff09;&#xff0c;内部集成射频前端、数字基带处理单元、北斗多频信号处理引擎及电源管理模块&#xff0c;支持北斗二号与三号系统的 B1I、B1C、B2I、B3I、B2a、B2b 频点信号接收。 主要特征 支持北斗二…...

力扣100题之128. 最长连续序列

方法1 使用了hash 方法思路 使用哈希集合&#xff1a;首先将数组中的所有数字存入一个哈希集合中&#xff0c;这样可以在 O(1) 时间内检查某个数字是否存在。 寻找连续序列&#xff1a;遍历数组中的每一个数字&#xff0c;对于每一个数字&#xff0c; 检查它是否是某个连续序列…...

spel 多层list嵌套表达式踩坑记

场景 Expression exp spelParser.parseExpression("#{#avgTable?.get(2)?.get(0)}", new TemplateParserContext()); String _result exp.getValue(evalContext, String.class);当avgTable?.get(2&#xff09;为空时&#xff0c;Method threw java.lang.IndexO…...