【每日一题】LeetCode206.反转链表

个人主页:白日依山璟

专栏:Java|数据结构与算法|每日一题


文章目录

    • 1. 题目描述
      • 示例1
      • 示例2
      • 示例3
      • 提示
    • 2. 思路
    • 3.代码

1. 题目描述

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

示例1

img

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

输出:[5,4,3,2,1]

示例2

img

输入:head = [1,2]

输出:[2,1]

示例3

输入:head = [ ]

输出:[ ]

提示

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

题目链接

2. 思路

  1. 判断链表是否为空,如果为空直接返回头结点

  2. 判断链表是否为一个元素,如果是直接返回头结点

  3. headnext置为null

  4. 定义两个指针,curcurNextcur 指向头结点的next,表示要反转的元素;curNext指向curnext,表示要反转元素的下一个元素

  5. 使用头插法将要反转的元素插入前一个元素的前面

    image-20231218095202374

3.代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {if (head == null) { // 链表里一个元素都没有return head;}if (head.next == null) { // 链表里只有一个元素return head;}ListNode cur = head.next; // 要反转的元素head.next = null;while (cur != null) {ListNode curNext = cur.next;// 头插法cur.next = head;head = cur;cur = curNext;}return head;}
}

运行结果:

image-20231218093949377

世界上有三种k,梅花k,方片k,还有任何人不关注我我都会难过的ok
在这里插入图片描述

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

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

相关文章

【笔记】Spring的事务是如何回滚的/Spring的事务管理是如何实现的

Spring的事务是如何回滚的/Spring的事务管理是如何实现的 数据库&#xff08;Spring事务&#xff09; 1、建立连接、开启事务&#xff08;准备工作&#xff09; 2、进行sql操作&#xff08;业务逻辑&#xff09; 3、执行成功&#xff0c;则commit&#xff1b; 执行失败&#x…

spellman高压发生器电源维修XRV450PN4500 NY1059

Spellman高压电源X射线发生器维修XRV系列常见维修型号&#xff1a;XRV160N1800, XRV160N3000, XRV160P4000, XRV160P6000/208V 3o, XRV225N3000, XRV225N6000/208V 3o, XRV225P4000, XRV350PN4500, XRV450PN4500。 Spellman所拥有的变频器架构可以使高压电源获得高利用率的效率…

为什么设计制造行业需要数据加密?

设计制造行业是一个涉及多种技术、工艺、材料和产品的广泛领域&#xff0c;它对经济和社会的发展有着重要的影响。然而&#xff0c;随着数字化、智能化和网络化的发展&#xff0c;设计制造行业也面临着越来越多的数据安全风险&#xff0c;如数据泄露、数据篡改、数据窃取等。这…

TSINGSEE青犀智能分析网关V4人体行为检测算法在视频监控中的应用

旭帆科技智能分析网关的算法十分繁多&#xff0c;其中可分为人体事件、车辆事件、环境事件、行为检测、着装检测等等&#xff0c;可覆盖绝大多数场景&#xff0c;如智慧校园、智慧工地、智慧景区等&#xff0c;今天小编就TSINGSEE青犀智能分析网关的行为检测算法和大家进行研讨…

Python 为UnityAndroid端自动化接入Tradplus广告SDK

Python 为UnityAndroid端自动化接入Tradplus广告SDK Tradplus介绍常规接入进入Android开发文档选择渠道配置生成接入代码人工依赖下载官网同版本的 Unity插件 使用自动化工具接入首次 你需要打两个标记来定位运行工具 控制台会列出最新的十个Tradplus版本 任选其一然后拖入项目…

如何利用PPT绘图并导出清晰图片

在写论文的过程中&#xff0c;免不了需要绘图&#xff0c;但是visio等软件绘图没有在ppt上绘图比较熟练&#xff0c;尤其流程图结构图. 但是ppt导出的图片也不够清晰&#xff0c;默认分辨率是96dpi&#xff0c;而杂志投稿一般要求至300dpi。解决办法如下&#xff1a; 1.打开注…

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks 前言 Azure Databricks有access token&#xff0c;是具有ADB内部最高权限的token。在云环境中这些高级别权限的sec…

Kubernetes弃用Dockershim,转向Containerd:影响及如何应对

Kubernetes1.24 版本发布时&#xff0c;正式宣布弃用 Dockershim&#xff0c;转向 Containerd 作为默认的容器运行环境。Kubernetes 以 CRI(Container Runtime Interface) 容器运行时接口制定接入准则&#xff0c;用户可以使用 Containerd、CRI-O、CRI- Dockerd 及其他容器运行…

DDC和PLC的区别

前言 PLC与DDC控制器的比较&#xff0c;一直以来在相关领域内受到广泛关注。每个人站在不同的角度分析&#xff0c;都会有不同的结论&#xff0c;我们今天聊聊这个话题。 基本定义和功能 可编程控制器PLC与直接数字控制器DDC&#xff0c;两者都由CPU模块、I/O模块、显示模块…

工业智能网关:plc数据采集对接mes系统

在工业自动化领域&#xff0c;制造执行系统&#xff08;MES&#xff09;与可编程逻辑控制器&#xff08;PLC&#xff09;之间的实时通信对于提高生产效率、确保产品质量和实现智能化生产至关重要。工业智能网关作为连接两者的关键设备&#xff0c;正在发挥着越来越重要的作用。…

DDAE: Denoising Diffusion Autoencoders are Unified Self-supervised Learners

DDAE: Denoising Diffusion Autoencoders are Unified Self-supervised Learners Paper&#xff1a;https://arxiv.org/abs/2303.09769 Code&#xff1a;https://github.com/FutureXiang/ddae TL; DR&#xff1a;扩散模型的训练其实就是训练一个去噪模型&#xff0c;考虑到类似…

浅了解一下『微前端』

1 什么是微前端 微前端的核心理念是将前端应用程序看作是一个整体&#xff0c;由多个独立的部分组成。每个部分被视为一个微前端应用&#xff0c;它们可以具有自己的技术栈、开发流程和团队组织。这种方式使得团队可以独立开发和部署各个子应用&#xff0c;减少了协调和合并的…

析构和友元函数

1. 类的析构函数 析构函数的作用&#xff0c;用于释放该类所占用的资源&#xff08;或者说释放对象&#xff09;在类的对象使用完时&#xff08;当类的对象超出了作用域&#xff09;&#xff0c;会自动调用析构函数&#xff1b;如果是在堆区实例化的对象&#xff0c;那么当手动…

二分查找——OJ题(一)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、二分查找1、题目讲解2、算法原理3、代码实现 二、在排序数组中查找元素的第一个和最后一个…

Mini MyBatis-Plus(下)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 最核心的内容前两篇已经…

docker 安装可视化工具 Protainer 以及 汉化

一、创建保存数据的卷 安装网址&#xff1a;Install Portainer BE with Docker on Linux - Portainer Documentation docker pull portainer/portainer二、根据portainer镜像创建容器 docker run -d -p 8000:8000 -p 9000:9000\ --name portainer --restartalways \ -v /var/r…

深入ArkUI:深入实战组件text和text input

文章目录 Text组件介绍Text组件的属性方法Text:文本显示组件4.3TextInput组件实战案例:图片宽度控制页面本文总结要点回顾在今天的课程中,我们将深入学习ArkUI提供的基础组件,着重探讨text和text input两个组件。 Text组件介绍 Text组件是一个用于显示文本的组件,其主要作…

VSCode安装Go环境

VSCode安装Go 1.点击Go官网&#xff0c;根据自己环境下载go安装包&#xff0c;我这里为Windows 2.双击安装包&#xff0c;一直点击【Next】即可 VSCode配置Go基础环境 1.创建Go的工作目录: C:\Code\GoCode 2.创建Go的环境变量: GOPATH (1)右键【此电脑】&#xff0c;点击…

C/C++转WebAssembly及微信小程序调用

上一篇文章讲了C/C如何转WebAssembly&#xff0c;并测试了在Web端调用。本篇内容和上篇一样&#xff0c;介绍C/C包转的.wasm包如何在小程序中调用。 说明 本篇是在上一篇步骤1-4的基础上&#xff0c;再做修改&#xff0c;供微信小程序端调用的方法和步骤。 本篇操作手册可以…

Python自动化测试:选择最佳的自动化测试框架

在开始学习python自动化测试之前&#xff0c;先了解目前市场上的自动化测试框架有哪些&#xff1f; 随着技术的不断迭代更新&#xff0c;优胜劣汰也同样发展下来。从一开始工具型自动化&#xff0c;到现在的框架型&#xff1b;从一开始的能用&#xff0c;到现在的不仅能用&…