7 递归——206. 反转链表 ★

7 递归

206. 反转链表

给你单链表的头节点head,请你反转链表,并返回反转后的链表。
示例 1:
在这里插入图片描述
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

算法设计

可以充分利用原有的存储空间,通过修改指针实现单链表的就地逆置。相当于将所有的箭头反向,头指针指向原链表的尾部。如图所示。
在这里插入图片描述
反转链表可以采用迭代法和递归算法两种方法实现,原理是一样的,只是实现方式不同而已。

1. 迭代法

以上面单链表为例,展示单链表就地逆置过程。
(1)首先处理第一个节点,反转后该节点是单链表的尾节点,其next指针指向空。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/425590.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

策略路由与路由策略的区别

🐣个人主页 可惜已不在 🐤这篇在这个专栏 华为_可惜已不在的博客-CSDN博客 🐥有用的话就留下一个三连吧😼 目录 一、主体不同 二、方式不同 三、规则不同 四、定义和基本概念 一、主体不同 1、路由策略:是为了改…

微信小程序页面制作——婚礼邀请函(含代码)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

SprinBoot+Vue民宿预约微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

手把手教你:在微信小程序中加载map并实现拖拽添加标记定位

本文将为大家详细介绍如何在微信小程序中加载map组件,并实现拖拽标记定位功能。 实现步骤 1、首先,我们需要在项目的app.json文件中添加map组件的相关配置。如下所示: {"pages": ["pages/index/index"],"permiss…

若依nday复现

前言 声明:此文章仅做学习,未经授权严禁转载。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者无关 本文章只做简单汇总,在此感谢其他师傅的文章和分享 前置准备 环境搭建 下载:https:/…

Kafka日志索引详解与常见问题分析

目录 一、Kafka的Log日志梳理 1、Topic下的消息是如何存储的? 1. log文件追加记录所有消息 2. index和timeindex加速读取log消息日志 2、文件清理机制 1. 如何判断哪些日志文件过期了 2. 过期的日志文件如何处理 3、Kafka的文件高效读写机制 1. Kafka的文件…

dedecms(四种webshell姿势)

1.通过文件管理器上传WebShell 步骤一:访问目标靶场其思路为 dedecms 后台可以直接上传任意文件,可以通过文件管理器上传 php文件获取webshell 来到靶场进入后台登录 来到这里上传一个一句话木马文件 拿去蚁剑连接就ok了 2.修改模板文件拿WebShell 步骤一:与WPCM…

华为SMU02B1智能通信电源监控单元模块简介

华为SMU02B1是一款智能通信电源监控单元模块,专为5G嵌入式机框设计,它在通信电源管理领域扮演着重要角色。以下是对该产品的详细介绍: 一、产品概述 主要功能:华为SMU02B1能够监控和管理通信电源系统,提供站点监控功能…

时序必读论文11|ICLR23 TimesNet时间序列分析的二维变化建模

论文标题:TEMPORAL 2D-VARIATION MODELING FOR GENERAL TIME SERIES ANALYSIS 开源代码:https://github.com/Thinklab-SJTU/Crossformer 前言 时间序列分析中,如何有效地建模时序数据中的时间变化是关键,然而直接从一维时序数据…

vmware,centos8(虚拟机) 的安装

安装vmware 点击下方网址 虚拟机安装地址https://www1.msc23.cn/vm/?bd_vid8829610582362807097选择VMware17 打开文件所在地,双击安装 同意条款 选择安装位置 不将VMware配置到环境变量path 不检查更新,不加入客户体验 创建桌面快捷方式 开始安装 安装完成…

王道408考研数据结构-绪论

1.1 数据结构的基本概念 数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素 都不是孤立存在的,它们之间存在某种关系,这种数据元素相互之间的关系称为结构(Structure)。 数据结构包括三方面的内…

【C++指南】作用域限定符 :: 使用详解

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C指南》 期待您的关注 目录 引言 1. 访问全局变量 2. 命名空间中的成员访问 3. 类的静态成员访问 4. 嵌套命名空间/类中的…

基于菜鸟教程的flask学习记录 —— Flask视图函数

文章目录 前言Flask视图函数1.定义视图函数2.接收请求数据(1)获取URL参数(2)获取表单数据(3)获取查询参数 3.返回响应(1)返回字符串(2)返回HTML模板&#xff…

为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白

H.266,也被称为Versatile Video Coding(VVC),是近年来由MPEG(Moving Picture Experts Group)和ITU(International Telecommunication Union)联合开发并发布的新一代国际视频编码标准…

音视频入门基础:AAC专题(6)——FFmpeg源码中解码ADTS格式的AAC的Header的实现

一、引言 通过FFmpeg命令: ./ffmpeg -i XXX.aac 可以获取到ADTS格式的AAC裸流的音频采样频率、声道数、采样位数、码率等信息: 在vlc中也可以获取到这些信息(vlc底层也使用了FFmpeg进行解码): 所以FFmpeg和vlc是怎样…

C语言 | Leetcode C语言接雨水II

题目: 题解: typedef struct{int row;int column;int height; } Element;struct Pri_Queue; typedef struct Pri_Queue *P_Pri_Queue; typedef Element Datatype;struct Pri_Queue{int n;Datatype *pri_qu; };/*优先队列插入*/ P_Pri_Queue add_pri_que…

视频服务器:GB28181网络视频协议

一、前言 某项目中需要集成视频管理平台,实现分布在各省公司的摄像及接入,对视频进行统一管理。本项目中视频管理平台采用GB/T28181实现的监控设备接入管理平台,支持在开放互联网和局域网对监控设备进行远程接入、远程管理、远程调阅、录像回…

基于 PyQt5 和 OpenCV 进行图像处理操作的GUI工具初版

为了实现一个基于 PyQt5 和 OpenCV 的图形用户界面(GUI),要求如下: 左边显示加载的图片。 中间提供各种对图片进行处理的操作方法(如灰度化、模糊处理等)。 右边显示处理后的效果图。 接下来我将详细讲解如…

PyQt5-loading-圆环加载效果

效果预览 代码实现 from PyQt5.QtCore import QSize, pyqtProperty, QTimer, Qt, QThread, pyqtSignal from PyQt5.QtGui import QColor, QPainter from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton, QVBoxLayout, QLabel, QGridLayoutclass Cir…

Spring IOC的应用

目录 一、IOC基础 1、maven导入spring的 jar包 和 单测包 2、bean的配置 2.1 纯xml模式 2.1.1 xml文件头 2.1.2 实例化Bean的三种方式 2.1.3 Bean的生命周期 2.1.4 Bean标签属性 2.1.5 DI依赖注入的xml配置 2.1.5.1 构造函数注入 2.1.5.2 set方法注入 2.1.5.3 复杂数据类型注入…