206. 反转链表(Java)

题目描述:

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

在这里插入图片描述

输入:

head = [1,2,3,4,5]

输出:

[5,4,3,2,1]

代码实现:

1.根据题意创建一个结点类:

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;
    }
}

2.反转链表具体实现:

public class Main{
    public static void main(String[] args) {
        //创建一个简单的链表: 1 -> 2 -> 3
        ListNode head = new ListNode(1);
        head.next = new ListNode(2);
        head.next.next = new ListNode(3);
        //反转操作
        ListNode res = reverseList(head);
        //查看结果
        ListNode now = res;
        while (now != null) {
            if (now.next != null) {
                System.out.print(now.val + "->");
            } else {
                System.out.print(now.val);
            }
            now = now.next;
        }//3->2->1
    }

    public static ListNode reverseList(ListNode head) {
        //前驱指针
        ListNode pre = null;
        //当前指针
        ListNode current = head;
        //后继指针
        ListNode next;
        //反转操作
        while (current != null) {
            //保存后继结点信息
            next = current.next;
            //当前结点指向前驱
            current.next = pre;
            //pre指向当前结点
            pre = current;
            //当前结点指针指向下一个结点
            current = next;
        }
        //pre为反转之后的头结点
        return pre;
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flask 菜品管理

common/libs/Helper.py getDictFilterField() 方法 用于在web/templates/food/index.html中展示菜品分类 如何能够通过food里面的cat_id获取分类信息呢?只能通过for循环,这样会很麻烦,所以定义了这个方法。 这个方法可以的查询返回结果…

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

LaunchPad 是代币面向市场的重要一环,将代币推向市场,加密项目将能够通过代币的销售从市场上募集资金,同时生态也开始进入全新的发展阶段。而对于投资者来说,早期打新市场同样充满着机会,参与 LaunchPad 对于每一个投资…

通过iFrame嵌入Grafana页面或pannel

前言 在当前数据驱动的时代,有效地可视化和监控关键性能指标变得至关重要。Grafana,作为一个开源的监控解决方案,提供了强大的功能来呈现和分析数据,从而帮助用户及时洞察和响应各种情况。随着技术的不断发展,将这些信…

地图移动逻辑

主要的一些问题 0. 可能会很久没收到,,或者一下子同时受到很多个同步的包 关于坐标滞后导致的一些游戏逻辑问题,比如攻击命中的判定问题等,一般是以服务器数据为判定依据,逻辑判定还是以服务器为主,客户端主要做表现。 1. 插值 关于坐标上报频率,我采取的是每100ms 或…

RT-Thread基于AT32单片机的485应用开发(二)

在上篇RT-Thread基于AT32单片机的485应用开发(一)中实现了RS485收发,但总觉得效率不高,函数封装也不完善。考虑到RS485总线应用都是主从式结构,比如工业领域常用的Modbus协议,都是以帧为单位进行收发&#…

【Java集合篇】 ConcurrentHashMap在哪些地方做了并发控制

ConcurrentHashMap在哪些地方做了并发控制 ✅典型解析✅初始化桶阶段🟢桶满了会自动扩容吗🟠自动扩容的时间频率是多少 ✅put元素阶段✅扩容阶段🟠 拓展知识仓🟢ConcurrentSkipListMap和ConcurrentHashMap有什么区别☑️简单介绍一…

Chrome禁用第三方Cookie,有什么影响?

2024年,Chrome将要正式禁用第三方Cookie了,这个变化对Web开发者来说是非常重要的,因为它将改变开发者如何设计网站以及如何搜集和使用用户数据。这是怎么一回事,到底有什么具体影响? 什么是Cookie? 随着互…

支持向量机(Support Vector Machines,SVM)

什么是机器学习 支持向量机(Support Vector Machines,SVM)是一种强大的机器学习算法,可用于解决分类和回归问题。SVM的目标是找到一个最优的超平面,以在特征空间中有效地划分不同类别的样本。 基本原理 超平面 在二…

【漏洞复现】锐捷EG易网关cli.php后台命令执行漏洞

Nx01 产品简介 锐捷EG易网关是一款综合网关,由锐捷网络完全自主研发。它集成了先进的软硬件体系架构,配备了DPI深入分析引擎、行为分析/管理引擎,可以在保证网络出口高效转发的条件下,提供专业的流控功能、出色的URL过滤以及本地化…

面试算法110:所有路径

题目 一个有向无环图由n个节点(标号从0到n-1,n≥2)组成,请找出从节点0到节点n-1的所有路径。图用一个数组graph表示,数组的graph[i]包含所有从节点i能直接到达的节点。例如,输入数组graph为[[1&#xff0c…

C#编程-描述异常

描述异常 异常是在程序执行期间出现的错误。异常情况发生在运算不能正常完成的时候。当程序中出现异常是,系统会抛出错误。错误通过异常处理过程被处理。 例如,System.IO.IOException异常在试图访问非法流对象时抛出。同样,如果分母是0,整数除法运算抛出System.DivideByZ…

移动通信原理与关键技术学习(4)

1.小尺度衰落 Small-Scale Fading 由于收到的信号是由通过不同的多径到达的信号的总和,接收信号的增强有一定的减小。 小尺度衰落的特点: 信号强度在很小的传播距离或时间间隔内的快速变化;不同多径信号多普勒频移引起的随机调频&#xff…

Sentinel限流熔断

官网:https://sentinelguard.io/zh-cn/docs/introduction.html github文档:https://github.com/alibaba/Sentinel/wiki Sentinel 是一款面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从流量控制、 熔断降级 、系…

javaweb基础----JDBC、servlet(二)

一、连接数据库 在昨天的基础上,现在我想来实现前后端以及数据库的连接。 CSDNhttps://mp.csdn.net/mp_blog/creation/editor/135388510?spm1001.2101.3001.4503在cn2包下创建2个类,一个登录界面login,还有一个实现登录过程的loginServlet…

CST—EMC(电磁兼容)仿真及分析工具

背景概述 随着汽车电子的发展特别是新能源互联网汽车的兴起,整车的EMC环境越来越恶劣,传统的EMC设计面临着设计阶段盲目性强、调试测试阶段工作量大、整改阶段重复性高等诸多挑战,需要通过EMC仿真来解决上述问题。EMC仿真贯穿产品开发全周期&…

40-特殊运算符delete,new,.getDate,.setDate,运算符优先级

1.delete删除. 数组 // 可以删除数组元素,可以删除对象键值对// 删除数组的值,数组长度保持不变// 删掉的值变成emptyvar arr [1,2,3,4,5];delete arr[0];console.log(arr); 对象 var obj {"a":"aa","b":"bb&quo…

Xcalibur软件Qual Brower程序的使用

找到Qual Brower:在System>Program里 打开采集的数据文件*.RAW,软件界面主窗口能查看色谱图和质谱图: 1、图形的放大和拷贝、色谱中查看峰的质谱信息: 点亮如图图像右上角的按钮,可以激活该图形并进行操作&#x…

AI Agent落地先行者实在智能:2023人工智能领军者、百强、TOP30揭榜

实在智能连登三榜! 【2023年十佳人工智能行业领军人物】 【2023年度人工智能领域创新企业】 【2023年度最具投资价值企业】 喜大普奔!近期,国内科技行业颇具含金量的三张榜单接连发布,实在智能皆榜上有名,“2023「…

WPF真入门教程26--项目案例--欧姆龙PLC通讯工具

1、案例介绍 前面已经完成了25篇的文章介绍,概括起来就是从0开始,一步步熟悉了wpf的概念,UI布局控件,资源样式文件的使用,MVVM模式介绍,命令Command等内容,这节来完成一个实际的项目开发&#…

C++类和对象(万字超详细讲解!!!)

文章目录 前言1.面向过程和面向对象区别2.类的基本概念2.1 类的引入2.2 类的定义2.3 类成员变量的命名规则2.4 类的访问限定符2.5 类的封装2.6 类的作用域2.7 类的实例化 3.类对象模型3.1 如何计算类对象的大小3.2 对齐规则 4.this指针4.1 this指针的引出4.2 this指针的特性4.3…