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

206. 反转链表

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

示例 1:


输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:


输入:head = [1,2]
输出:[2,1]
示例 3:

输入:head = []
输出:[]
 

提示:

链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000
 

进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/reverse-linked-list
著作权

归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

#include<iostream>
using namespace std;
class ListNode
{
public:ListNode* next;int data;ListNode(){next = NULL;}
};
class LinkList
{
public:int len;ListNode* head;LinkList(){head = new ListNode();head->next = NULL;len = 0;}void insert(int index, int num){if (index > len || index < 0){return;}//找到前一位的index前一位else{ListNode* p = head;for (int i = 0; i < index; i++){p = p->next;}ListNode* node = new ListNode();node->data = num;node->next = p->next;p->next = node;len++;}}void del(int index){if (index >= len || index < 0){return;}else{ListNode* node = new ListNode;ListNode* p = head;for (int i = 0; i < index; i++){p = p->next;}//要删除的前一个位置ListNode* q = p->next;p->next = p->next->next;delete q;len--;}}LinkList* reverseList(){//方法1//把每次ListNode* p = head;LinkList* newone = new LinkList();ListNode* q = ( * newone).head;for (int i = 0; i < len; i++){p = p->next;newone->insert(0, p->data);//每次都插入到首位置中去}return newone;}//方法2ListNode* reverselist(ListNode* head){if (head == NULL || head->next == NULL)return head;ListNode* tail = head->next;//先记录反转后的尾结点ListNode* new_head = reverselist(head->next);head->next = tail->next;tail->next = head;return new_head;}void display(){ListNode* p = head->next;for (int i = 0; i < len; i++){if (i) {cout << p->data;}else{cout << "," << p->data;}p = p->next;}}
};
int main()
{int n;LinkList l1;cin >> n;for (int i = 1; i <= n; i++){cout << i;l1.insert(i - 1, i);}l1.display();cout << endl;l1.reverseList()->display();return 0;
}

相关文章:

206. 反转链表

给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3&#xff1a; 输…...

文心一言 vs GPT-4 —— 全面横向比较

文心一言 vs GPT-4 —— 全面横向比较 3月15日凌晨&#xff0c;OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日&#xff0c;3月16日下午百度发布大语言模型——文心一言。发布会上&#…...

rancher2.6进阶之kubectl安装

rancher2.6进阶之kubectl安装 1.安装kubectl客户端 1.1.1.使用命令行下载安装包: curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl Note: 可指定下载版本, 将 ( c u r l − L − s h t t p s : / / d l . k …...

图像基本变换

缩放与裁剪裁剪图像的裁剪&#xff0c;是指将图像的某个区域切割出来。一些常见的应用场景包括&#xff1a;* 感兴趣区域提取* 去除无用信息* 图像增强* 纠偏&#xff1a;去除不规则部分&#xff0c;将图像变得更加整齐事实上&#xff0c;图像裁剪的裁剪通常就是一个numpy矩阵切…...

基于文心一言的底层视觉理解,百度网盘把「猫」换成了「黄色的猫」

随着移动互联网的一路狂飙&#xff0c;手机已经成为人们的新器官。出门不带钥匙可以&#xff0c;不带手机却是万万不可以的。而手机上&#xff0c;小小的摄像头也越来越成为各位「vlogger」的口袋魔方。每天有超过数亿的照片和视频被上传到百度网盘中&#xff0c;这些照片和视频…...

安卓开发的环境配置教程

文章目录事先准备&#xff1a;下载 JDK、Gradle下载安装 Android Studio下载安装 Android SDK下载安装 ADB笔者的环境&#xff1a; Java 17.0.1 Gradle 8.0.1 Android Studio Electric Eel | 2022.1.1 Patch 1 Windows 10 教育版 64位 事先准备&#xff1a;下载 JDK、Gradl…...

【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程

文章目录教程适用版本一、简介主要功能组件开源地址二、开始搭建1.项目搭建与依赖管理2.服务注册与发现&#xff08;Nacos安装&#xff09;3.创建服务提供者4.创建服务消费者5.创建服务消费者(Feign)6.添加熔断机制&#xff08;Sentinel&#xff09;7.Sentinel熔断器仪表盘监控…...

关于自动机器学习flaml训练时的一些报错

一、版本背景flaml 1.1.3sciket-learn 0.23.0二、一路报错2.1、SyntaxError: future feature annotations is not definedTraceback (most recent call last):File "C:/Users/dell/Desktop/AI/run.py", line 151, in <module>model.autoMlArgs(queryDf,targe…...

【计算机视觉】消融实验(Ablation Study)是什么?

文章目录一、前言二、定义三、来历四、举例说明一、前言 我第一次见到消融实验&#xff08;Ablation Study&#xff09;这个概念是在论文《Faster R-CNN》中。 消融实验类似于我们熟悉的“控制变量法”。 假设在某目标检测系统中&#xff0c;使用了A&#xff0c;B&#xff0…...

Java毕业论文参考文献参考例子整理

[1]李庆民.基于java的软件agent开发环境的分析[J].数字技术与应用,2017,01:189.    [2]籍慧文.Web应用开发中JAVA编程语言的应用探讨[J].科技创新与应用,2017,07:90.    [3]卜令瑞.基于Java软件项目开发岗位的企业实践总结报告[J].职业,2016,32:124-125.    [4]肖成金,吕…...

C++ Primer第五版_第六章习题答案(21~30)

文章目录练习6.21练习6.22练习6.23练习6.24练习6.25练习6.26练习6.27练习6.28练习6.29练习6.30练习6.21 编写一个函数&#xff0c;令其接受两个参数&#xff1a;一个是int型的数&#xff0c;另一个是int指针。函数比较int的值和指针所指的值&#xff0c;返回较大的那个。在该函…...

SLAM算法之HectorSLAM,Gmapping,KartoSLAM,CoreSLAM和LagoSLAM

文章将介绍使用的基于机器人操作系统&#xff08;ROS&#xff09;框架工作的SLAM算法。 在ROS中提供的五种基于2D激光的SLAM算法分别是&#xff1a;HectorSLAM&#xff0c;Gmapping&#xff0c;KartoSLAM&#xff0c;CoreSLAM和LagoSLAM。当然最后还有比较经典的google开源的ca…...

phpstorm断点调试

环境&#xff1a;win10phpstorm2022phpstudy8lnmp 1、phpinfo(); 查看是否安装xdebug&#xff0c;没有走以下流程 2、phpstudy中切换不同版本php版本&#xff0c;有些版本不支持xdebug&#xff08;如php8.0.2&#xff09;&#xff0c;有些已经自带了&#xff08;如php7.3.9&a…...

做一个前端网页送给女朋友~轮播图+纪念日

文章目录1. 轮播图框架2. 轮播图大盒子实现1. 盒子及图片的可视化2. 将图片重叠起来并放入轮播图盒子中...相对定位与绝对定位3. 添加左右按钮4. 点击按钮跳转图片5. 鼠标离开图片轮播图按钮隐藏6. 添加小圆点按钮7. 点击小圆点跳转图片并且该小圆点变色8. 自动轮播9. 最后一步…...

CSDN 编程竞赛三十九期题解

竞赛总览 CSDN 编程竞赛三十九期&#xff1a;比赛详情 (csdn.net) 竞赛题解 题目1、圆小艺 最近小艺酱渐渐变成了一个圆滑的形状球&#xff0c;小艺酱开始变得喜欢上球&#xff01;小艺酱得到n个同心圆。小艺酱对着n个同心圆进行染色&#xff0c;相邻的圆范围内不能有相同的…...

ChatGPT来了你慌了吗?

文章目录一、ChatGPT是什么&#xff1f;一、ChatGPT到底多强大&#xff1f;三、各平台集成了ChatGPT插件&#xff1a;四、ChatGPT能否取代程序员&#xff1f;一、ChatGPT是什么&#xff1f; ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&…...

Dijkstra 算法

Dijkstra 算法&#xff08; 迪杰斯特拉算法&#xff09;&#xff0c; 又叫最短路径算法&#xff0c; 这是常见的图论中的最短路径算法&#xff0c; 由 Edsger W.Dijkstra 在 1959 年发表。 这种算法能够给定一个图中的源节点&#xff08; Source Node&#xff09;&#xff0c; …...

EIgamal 算法实现与解读

EIgamal 算法实现与解读 数学知识1.求原根2.求逆元快速幂求解EIgamal 算法1. Elgamal密钥产生2. Elgamal加密3. Elgamal解密效果如下:数学知识 1.求原根 如果g是p的原根,就是g^(p-1) = 1 (mod P)当且仅当指数为p-1的时候成立.(这里P是素数) 简单来说,g^i mod p ≠ g^j m…...

静态通讯录动态通讯录制作详解

&#x1f355;在本期的博客我们来向大家介绍一下静态通讯录的书写以及怎样将我们的静态通讯录更改为动态的模式。 &#x1f354;静态通讯录的创建 &#x1f355;就像是我们之前进行的完整程序逻辑的书写一样我们同样创建三个文件&#xff0c;两个 .c 文件&#xff0c;一个 .h 文…...

2023最新最详细【接口测试总结】

序章 ​ 说起接口测试&#xff0c;网上有很多例子&#xff0c;但是当初做为新手的我来说&#xff0c;看了不不知道他们说的什么&#xff0c;觉得接口测试&#xff0c;好高大上。认为学会了接口测试就能屌丝逆袭&#xff0c;走上人生巅峰&#xff0c;迎娶白富美。因此学了点开发…...

深度解析CloverBootloader内存管理:AptioMemoryFix原理与实现详解

深度解析CloverBootloader内存管理&#xff1a;AptioMemoryFix原理与实现详解 【免费下载链接】CloverBootloader Bootloader for macOS, Windows and Linux in UEFI and in legacy mode 项目地址: https://gitcode.com/gh_mirrors/cl/CloverBootloader CloverBootloade…...

foobox-cn:让foobar2000焕发新生的界面增强工具

foobox-cn&#xff1a;让foobar2000焕发新生的界面增强工具 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在忍受foobar2000单调的默认界面吗&#xff1f;想让音乐播放体验更加赏心悦目且功能丰富…...

产品 SEO 关键词与转化率的关系是什么_如何评估产品 SEO 关键词的价值

<h3 id"seo_seo">产品 SEO 关键词与转化率的关系是什么_如何评估产品 SEO 关键词的价值</h3> <p>在数字营销的世界里&#xff0c;产品 SEO 关键词&#xff08;Search Engine Optimization&#xff0c;搜索引擎优化&#xff09;的作用不可忽视。这不…...

别再手动调参了!用Matlab+NRBO-BP+NSGAII搞定工艺优化,自动生成最优参数组合Excel

工艺优化新范式&#xff1a;基于NRBO-BP与NSGAII的智能参数寻优系统 在化工、材料、制造等领域的工艺优化过程中&#xff0c;工程师和研究人员常常面临一个共同的挑战&#xff1a;如何在有限的实验资源和时间约束下&#xff0c;从海量的参数组合中找到最优解。传统的手动调参方…...

保姆级教程:在Ubuntu 22.04物理机上,从开启SSH到配置IPv6防火墙的完整流程

Ubuntu 22.04物理机从SSH配置到IPv6防火墙的完整安全指南 当你拿到一台全新的Ubuntu物理机时&#xff0c;如何安全地配置远程访问并启用IPv6连接&#xff1f;本文将带你从零开始&#xff0c;一步步完成从系统初始化到防火墙配置的全过程。无论你是搭建家庭服务器、开发测试环境…...

别再纠结Seurat版本了!手把手教你用CCA和Harmony搞定单细胞数据整合(附避坑指南)

单细胞数据整合实战&#xff1a;从CCA到Harmony的精准选择与避坑指南 单细胞RNA测序技术正在重塑我们对复杂生物系统的认知边界。当实验室积累了大量单细胞数据集后&#xff0c;如何将这些分散的数据整合成一个连贯的整体&#xff0c;成为每个研究者必须面对的挑战。我曾见证过…...

BiliTools:跨平台B站资源管理工具的全方位应用指南

BiliTools&#xff1a;跨平台B站资源管理工具的全方位应用指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliToo…...

ollama-QwQ-32B流式响应:优化OpenClaw长任务等待体验

ollama-QwQ-32B流式响应&#xff1a;优化OpenClaw长任务等待体验 1. 为什么需要流式响应&#xff1f; 去年冬天&#xff0c;我尝试用OpenClaw自动整理一整年的会议录音转文字稿。当我把包含200多小时音频的文件夹丢给AI处理时&#xff0c;终端突然卡在了"正在处理第1个文…...

OpenClaw+Qwen3-VL:30B:低成本搭建飞书多模态机器人

OpenClawQwen3-VL:30B&#xff1a;低成本搭建飞书多模态机器人 1. 为什么选择本地部署多模态助手&#xff1f; 去年我在团队内部尝试用商业API搭建了一个飞书机器人&#xff0c;用于处理日常的图片识别和文档分析需求。三个月后收到账单时&#xff0c;发现仅图片识别这一项功…...

2026 年 OpenClaw 生态选型指南:从「红色龙虾」到国产「小龙虾」

2026 年初&#xff0c;一只名为 OpenClaw 的「红色龙虾」长期占据 GitHub 热度前列&#xff0c;星标在公开页面上已达到 三十万量级&#xff08;具体数字每日波动&#xff09;。业界常把它描述为 AI 从「只会聊」走向「能替你办事」的一块试金石&#xff1a;不是多一个聊天窗口…...