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

反转链表(C++)

1、迭代法的一种写法

ListNode* reverse_linkList(ListNode* head){if(head == nullptr || head->next == nullptr) return head;ListNode* begin = nullptr;ListNode* mid = head;ListNode* end = head->next;while(true){mid->next = begin;if(end == nullptr){break;}begin = mid;mid = end;end = end->next;}head = mid;return head;}

2、 迭代法的另一种写法

ListNode* reverse_linkList(ListNode* head) {ListNode* prev = nullptr;  // 指向已经反转部分的头节点ListNode* current = head;  // 指向当前待反转节点while (current != nullptr) {ListNode* nextNode = current->next;  // 保存当前节点的下一个节点current->next = prev;  // 反转指针方向prev = current;  // 更新已反转部分的头节点current = nextNode;  // 移动到下一个待反转节点}return prev;  // 返回反转后的头节点
}

3、 递归法实现

ListNode* reverse_linkList(ListNode* head) {if (head == nullptr || head->next == nullptr) {return head;  // 如果链表为空或只有一个节点,无需反转,直接返回}ListNode* newHead = reverse_linkList(head->next);  // 递归反转剩余部分head->next->next = head;  // 将当前节点的下一个节点的 next 指针指向当前节点,实现反转head->next = nullptr;  // 当前节点的 next 指针置为空return newHead;  // 返回新的头节点
}

相关文章:

反转链表(C++)

1、迭代法的一种写法 ListNode* reverse_linkList(ListNode* head){if(head nullptr || head->next nullptr) return head;ListNode* begin nullptr;ListNode* mid head;ListNode* end head->next;while(true){mid->next begin;if(end nullptr){break;}begin …...

适配器模式:让不兼容的接口协同工作

在面向对象设计中,适配器模式是一种常见的结构型设计模式。它允许将不兼容的接口转换成客户端所期望的另一个接口,从而使不同的类协同工作。适配器模式的主要目的是解决不同接口之间的兼容性问题,同时也提高了代码的可重用性和灵活性。 问题…...

【1day】复现Milesight-VPNserver.js 任意文件读取漏洞

目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 Milesight路由器-VPN是由Milesight Technology Co., Ltd.开发的一种集成了VPN功能的路由器产品。它旨在为用户提供安全、可靠的远程访问和连接解决方案。Milesight-VPNserver.js存在任意文件读取…...

前端代码规范

1 husky husky用于绑定git hooks,在指定时机执行想要的命令 {"husky": {"hooks": {"pre-commit": "lint-staged" }} }需要手动修改.husky文件内容: . "$(dirname -- "$0")/_/husky.sh"n…...

Java接入文心一言

文章目录 文心一言应用创建接口对接接口文档代码示例依赖 常量类实体类 结束语 文心一言应用创建 首先需要先申请文心千帆大模型,申请地址:文心一言 (baidu.com),点击加入体验,等通过审核之后就可以进入文心千帆大模型后台进行应…...

信息管理系统三级等保的一些要求

一、前言 在做一些互联网系统或面向互联网的系统时,需要进行备案,需要满足网络信息安全维护规章及有关规章制度要求,才能发布到互联网。所以在做系统的需求分析时,往往需要把信息管理系统三级等保的需求加上,方便开发…...

第六届“蓝帽杯”电子取证模块(初赛)解析+全资源一次性分享

前言:资源一次性分享 手机+电脑+exe+内存四个模块,我自己在网上也找了很久,才把资源找齐全,题目我也整理在这里,方便大家训练。 目录...

《Go 语言第一课》课程学习笔记(九)

常量:Go 在“常量”设计上的创新有哪些? Go 语言在常量方面的创新包括下面这几点: 支持无类型常量;支持隐式自动转型;可用于实现枚举。 常量 Go 语言的常量是一种在源码编译期间被创建的语法元素。这是在说这个元素…...

docker 安装nginx 和 elasticsearch ik 自定义分词

1、切换到/mydata 文件夹 创建 nginx 目录 mkdir nginx 2、运行 docker run --name nginx -p 80:80 -d nginx:1.22.0 3、复制docker 里面的nginx配置到 外面的nginx/conf 下面 docker cp nginx:/etc/nginx /mydata/nginx 4、把 /mydata/nginx下面的nginx 改…...

谈谈收音机的发展

目录 1.什么是收音机 2.收音机的工作原理 3.收音机的发展历史 4.收音机的历史作用 1.什么是收音机 收音机是一种电子设备,用于接收和播放广播电台的无线电信号。它是人们获取各种音乐、新闻、娱乐和其他广播节目的常用设备。 收音机通常由以下几个部分组成&…...

QTreeWidget——信号处理

文章目录 基本属性信号一、信号种类二、信号测试1、currentItemChanged、itemCollapsed、itemExpanded三个信号的测试2、itemActivated信号3、 itemChanged信号4、其余信号的测试代码(包含以上代码) 基本属性 信号 一、信号种类 //当前项发生变化时触…...

【Java从入门到精通|1】从特点到第一个Hello World程序

写在前面 在计算机编程领域,Java是一门广泛应用的高级编程语言。它以其强大的跨平台性能、丰富的库和生态系统以及易于学习的语法而备受开发者欢迎。本文将引导您逐步了解Java的特点、如何安装和配置开发环境,以及如何编写您的第一个Java程序。 一、Java…...

JAVA 读取jar包中excel模板

1、在resources路径下,新建report文件夹,放入excel模板 2、配置文件中的目录,分隔符使用 / template: /report/报告模板V1.0.xlsx3、使用getResourceAsStream()读取 XSSFWorkbook wb;try {//需要以/开始InputStream resourceAsStream this.g…...

解决方案:fatal error: openssl/bio.h: 没有那个文件或目录

出现报错如下: 出现该错误的原因有两个: 没有安装openssl或者libssl-dev库Libssl-dev版本过高,需要降级 一. 没有安装openssl或者libssl-dev库 使用指令安装openssl: 我的是已经安装完成了,所以再把libssl-dev的库也…...

【MySQL系列】ALTER语句详解,以及UPDATE,DELECT,TRUNCATE语句的使用+区别

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...

c++关键字 =delete和=default

在C的类中,有四类特殊的成员函数:① 默认构造函数;② 拷贝构造函数;③ 拷贝赋值函数(operator);④ 析构函数;它们控制着类的实例的创建、初始化、拷贝以及销毁。 (1&…...

idea 左下角的Git(Version Control)中显示Local Changes窗口

打开Local Changes窗口来查看当前Git仓库的本地变更。 使用快捷键: - Windows: Alt9 - Mac: Cmd9 解决: (1)idea打开settings (2)点击Version Control窗口选项卡,选择Commit选项,对 Use.... in…...

.net老项目中Jquery访问webservice

.net老项目中Jquery访问webservice 1. xml类型返回 jQuery.ajax({type: "POST",async: false,url: "WebService/Evection.asmx/GetCheckUpApplyEForm",contentType: "application/json",data: "{lngEvectionID:" eformSNOriginal &…...

SpringBoot项目集成ElasticSearch服务

本文已收录于专栏 《中间件合集》 目录 版本介绍背景介绍优势说明集成过程1.引入依赖2.添加配置文件3.初始化 示例说明代码结果 总结提升 版本介绍 Spring boot的版本是: 2.3.12   ElasticSearch的版本是:7.6.2 背景介绍 在我们的项目中经常会遇到对于…...

2023年网络安全比赛--综合渗透测试(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.扫描目标靶机将靶机开放的所有端口,当作flag提交(例:21,22,23); 2.扫描目标靶机将靶机的http服务版本信息当作flag提交(例:apache 2.3.4); 3.靶机网站存在目录遍历漏洞,请将…...

最后30天,PMP备考需要一次“认知切换”

背完所有知识点的人不一定能考过,但做对这三类切换的人一定能。大家好,我又来了。距离2026年6月14日PMP考试还有大约一个月的时间。如果看了我以前的文章,你已经知道这次考试很特殊——6月这场是现行考纲的绝版场次,之后考纲将从人…...

AI自动化新范式:基于MCP协议实现飞书与AI助手深度集成

1. 项目概述与核心价值如果你和我一样,每天的工作都离不开飞书,那你肯定也遇到过这样的场景:想用AI助手帮你整理会议纪要、自动更新项目文档,或者根据Bitable里的数据生成周报,却发现AI只能“看”不能“动”。它理解你…...

免费好用的去水印工具推荐:哪个效果最好?免费去水印工具对比 2026 实测

免费好用的去水印工具推荐:哪个效果最好?免费去水印工具对比 2026 实测 去水印这件事,真的是越来越高频了。自媒体剪素材、收藏喜欢的短视频、整理图片资料……一旦碰到带水印的内容,找个顺手的工具就成了刚需。网上工具多&#x…...

IV测试仪选购避坑指南,这几点一定要提前了解

在光伏产业链中,IV测试仪应用广泛,覆盖组件分选、实验室检定、电站验收、运维排查等场景。市面上仪器品类繁杂,包含台式实验室款、生产线分选款、户外检测款,价格差距悬殊。不少采购人员不懂场景适配,盲目比价、堆砌参…...

微信灰度测试状态浏览功能引热议,“已读”“访客”功能为何“焊死”不开发?

微信状态灰度测试功能揭秘5月12日,微信员工“客村小蒋”和腾讯公关总监张军先后就微信状态灰测访客功能表态。原来,此次小范围测试包含两个功能,一是状态浏览人数展示,发布状态后,在有效期内可在右下角看到浏览人数&am…...

工业缺陷检测实战:用‘非均衡’数据增强搞定样本不足与类别不平衡难题

工业缺陷检测实战:破解样本不足与类别失衡的数据增强策略 在半导体、汽车零部件等精密制造领域,一个肉眼难辨的微小缺陷可能导致整批产品报废。传统人工质检不仅效率低下,且漏检率常高达15%-30%。当我们尝试用深度学习构建缺陷检测系统时&…...

【Linux保姆级教程】curl命令最全用法详解

在Linux日常运维、后端开发、接口调试工作中,有一个命令几乎无人不知、无人不用,它就是curl命令。curl被称为网络传输瑞士军刀,无需打开浏览器,纯命令行即可发送网络请求,支持HTTP/HTTPS/FTP等数十种协议。不管是测试接…...

基于Rust构建AI智能体平台:架构设计与工程实践

1. 从零到一:构建你自己的AI智能体平台最近几年,大语言模型(LLM)的爆发式发展,让“智能体”(Agent)从一个学术概念,迅速变成了提升工作效率的利器。你可能用过一些现成的AI工具&…...

iPaaS平台推荐——五款产品能力与适用场景观察

在数字化转型加速推进的当下,iPaaS(集成平台即服务)正成为企业打通数据孤岛、连接应用生态的核心基础设施。面对市场上类型各异的集成平台,如何根据自身需求选择合适的解决方案,成为众多企业关注的重点。本文基于公开资…...

如何构建高效的个人游戏串流服务器:Sunshine完整部署指南

如何构建高效的个人游戏串流服务器:Sunshine完整部署指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在当今数字娱乐时代,游戏玩家面临着设备限制与体验…...