【链表】力扣206反转链表

题目

力扣206反转链表

思路图解

双指针法思路图解

代码实现

双指针代码实现

public static ListNode reverseList(ListNode head) {// 初始化pre,curListNode pre = null;ListNode cur = head;// 当cur为null时,说明反转结束while(cur != null) {// 临时保存cur.next节点的值ListNode temp = cur.next;// cur的next指向precur.next = pre;// 注意这两步步骤不能错pre = cur;cur = temp;}return pre;
}

递归方法

参考双指针法,动脑具体想一下,我把代码写出,看是否一样。
建议首先掌握双指针写法,递归写法是在双指针写法基础上而来。

public static ListNode reverseListDiGui(ListNode cur, ListNode pre) {if (cur == null) {return pre;}ListNode temp = cur.next;cur.next = pre;return reverseListDiGui(temp, cur);
}

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

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

相关文章

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》 写在最前面私钥加密与伪随机性 第二部分流加密与CPA多重加密 CPA安全加密方案CPA安全实验、预言机访问(oracle access) 操作模式伪随机函数PR…

c++析构函数

析构函数的简述 1. 析构函数和构造函数类似,是c规定当对象的生命周期结束时,默认你会调用析构函数。 2. 同理,当我们不写析构函数的时候,编译器会自动生成一个空实现的析构函数。 3. 析构函数只能编译器自己调用,我们…

抵御爬虫的前线护盾:深度解读验证码技术的演变历程

一.前言 在当今信息技术迅速发展的背景下,网站和在线服务面临着日益增长的自动化访问威胁,这些大多来自于各类爬虫程序。这种大量的自动化访问不仅对网站的正常运行构成压力,还可能导致敏感数据的泄露,甚至被用于不正当竞争和恶意…

【Docker】Linux中Docker技术入门与实战及实用的常规命令

目录 一、引言 1. 说明: 2. Linux介绍 3. Docker简介 二、Docker三要素 1. 镜像(Image) 2. 容器(Container) 3. 仓库(Repository) 三、实现案例 1. 创建 2. 设置镜像 3. 开启设置 …

求幸存数之和 - 华为OD统一考试

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 给一个正整数列nums,一个跳数jump,及幸存数量left。运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1 的数字,该数被敲出,并从该点起跳,以此类推,直到幸存left个数为止。…

大数据开发工程师需要具备哪些技能?

在回答这个问题之前,需要充分了解一下当前大数据的几个就业方向,可以参考下主流互联网行业的部门架构、职责和JD,大数据开发工程师,总体来说有这么几类,不同的公司叫法不一样: 1、数仓开发工程师 2、算法挖…

Java快速排序希尔排序归并排序

快速排序算法 快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。 一次循环:从后往前比较&…

Redis:原理速成+项目实战——Redis实战10(Redis消息队列实现异步秒杀)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Redis:原理速成项目实战——Redis实战9(秒杀优化) 📚订阅专栏:Redis&…

从零学Java 集合概述

Java 集合概述 文章目录 Java 集合概述1 什么是集合?2 Collection体系集合2.1 Collection父接口2.1.1 常用方法2.1.2 Iterator 接口 1 什么是集合? 概念:对象的容器,定义了对多个对象进行操作的常用方法;可实现数组的功能。 和数组区别&…

MES系统数据采集的几种方式

生产制造执行MES系统具有能够帮助企业实现生产数据收集与分析、生产计划管理、生产过程监控等的功能板块,在这里小编就不一一介绍了,主要讲讲它的数据采集功能板块,可以说,数据采集是该系统进行数据统计与生产管理等后续工作的基础…

ELF文件格式以及交叉编译工具链常用工具

windows下的可执行文件是.exe文件. .data段放置的是初始化的全局变量和初始化的静态局部变量; .bss段放置的是未初始化的全局变量和未初始化的静态局部变量;因为未初始化的变量会放在.bss段中统一置0. .text段放语句,比如a; 局部变量则是…

uniapp打包h5部署到服务器

在学习uniapp,部署前后端分离项目。将h5的dist文件打包好后一直在考虑如何通过nginx反向代理到后端接口,整了半天也没整成。最后才发现,uniapp打包的h5页面包好像不需要反向代理到后端接口,只需要通过nginx将dist下的h5包代理了&a…