Leecode刷题:024反转单项链表

题目:

是否没看题解:有思路但是没做出来

最初的解答思路:

定义一个pre指向头结点,cur为pre.next,定义last为cur.next,将cur.next指向pre定位到cur位置,然后cur定位至last节点。

最开始的代码:

class Solution {public ListNode reverseList(ListNode head) {ListNode pre =head;ListNode cur =head.next;ListNode last =cur.next;if(head==null){return null;}while(cur!=null){cur.next=pre;pre=cur;cur=last;last=last.next;}return head;}

出现的报错代码:Found cycle in the ListNode,链表成环

排查问题:1.因为while循环中第一行的cur.next的位置已经指向了pre节点,所以到第四行的时候想将cur节点往后移动会跑到pre节点形成死循环,因此需要在while循环之中提前存储cur下一个节点的位置,再进行移动

2.返回值最开始返回的head,这里没有思考直接返回的head,结果报错,后面通过观察别人的解题思路,得知等cur为空时,pre停留在最后一位所以得返回pre的话反转后第一个则是从pre开始

正确代码:

class Solution {public ListNode reverseList(ListNode head) {ListNode pre =null;;ListNode cur =head;if(head==null){return null;}while(cur!=null){ListNode next = cur.next;cur.next=pre;pre=cur;cur=next;}return pre;}
}

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

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

相关文章

Spark---RDD算子(单值类型Value)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…

Python基础-05(输出输入、if、if else和elif)

文章目录 前言一、输出(print())和输入(input())二、if、if else、elif1.if2.if else3.关于输入input的默认值4.elif 前言 今天复习一些非常基础的内容,以及if、if else和elif语句 一、输出(print()&…

雪花主键_在postgres的实现

一、主键的属性: 1. 全局唯一,不重复 2. 趋势有序,后面的值大于前面的值 3. 高性能, 读写效率高。qps不能太低,否则容易造成线程堵塞 4. 可用性好,业务对ID的可用性高,不存在单点故障 二、常…

漏洞复现-任我行CRM系统SmsDataList接口SQL注入漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

3DMAX 中的 VR 渲染器如何设置局部渲染?

首先我们要得打开渲染设置,在3damx里按F10,调出渲染设置。选定渲染器为Vary渲染器: 设置VR的局部渲染,需要打开帧缓冲,我们在V-ary项下,打开帧缓冲(点击显示VFB): 然后点击茶壶按钮(…

如何打开wps的备份中心查找备份文件

备份中心在我们使用WPS Office时扮演着重要的角色。经常保存文件的同时,我们也应该学会备份文件,以免意外损失。本文将向您介绍如何使用WPS备份中心来查找并恢复备份文件,方便您在需要时快速找到所需文件。 图片来源于网络,如有侵…

2024美赛数学建模常用数学建模模型之——层次分析法

一、层次分析法的基本原理与步骤 人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是 一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次 分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。 …

数据库设计-DDL

D D L \huge{DDL} DDL DDL:数据库定义语言,用来定义数据对象(数据库、表) 简单操作 首先在cmd中进行操作,登录数据库 show databases; -- 以列表的形式显示所有的数据库create database [if not exists] 数据库名称…

ngrok-内网穿透

一、访问官网下载相关的内容 Download (ngrok.com) linux或者windows可供选择,主要在于你的项目跑在什么地方 选择下载 二、获取Authtoken 点击右上角登录,没有号用谷歌账号登录即可跳转 三、在Windows进行内网穿透 下载打开 打开 运行在命令行中&am…

CodeWave智能开发平台--02--目标:文档快速阅读--02新手入门

摘要 本文是网易数帆CodeWave智能开发平台系列的第03篇,主要介绍了基于CodeWave平台文档的新手入门进行学习,并对新手入门的内容重新排序 CodeWave智能开发平台的03次接触 CodeWave参考资源 网易数帆CodeWave开发者社区课程中心 网易数帆CodeWave开发…

爬虫入门与urllibrequests

前情摘要 一、web请求全过程剖析 我们浏览器在输入完网址到我们看到网页的整体内容, 这个过程中究竟发生了些什么? 我们看一下一个浏览器请求的全过程 接下来就是一个比较重要的事情了. 所有的数据都在页面源代码里么? 非也~ 这里要介绍一个新的概念 那就是页面渲染数据的…

【零基础入门TypeScript】TypeScript - 运算符

目录 ​编辑 什么是操作员? 算术运算符 关系运算符 逻辑运算符 按位运算符 赋值运算符 杂项运算符 否定运算符 (-) 字符串运算符:连接运算符 () 条件运算符 (?) 类型运算符 类型运算符 实例化 什么是操作员? 运算符定义将对数…