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

算法通过村第二关-链表白银笔记

文章目录

  • 再战链表|反转链表
    • 剑指 Offer II 024. 反转链表
    • 熟练掌握这两种解法
      • 建立头节点的解决思路
      • 不采用建立头节点的方法
      • 采用循环/递归的方式解决
  • 总结


再战链表|反转链表

提示:多拿些酒来,因为生命只有乌有。


剑指 Offer II 024. 反转链表

在这里插入图片描述

在这里插入图片描述
如果不使用链表的话,很快就能让他反转,不过也没有那么简单(用链表的话🥰)

熟练掌握这两种解法

建立头节点的解决思路

拿到题目,想一想怎么处理最好💡
那我们就先画个图吧💕
在这里插入图片描述
再来个过程图,这让就看的懂了:

在这里插入图片描述

  1. 建立一个头节点指向 1
  2. cur 直线待处理的头节点
  3. next 直线cur 的下一个节点

我们尝试写一下代码👌
重点理解一下 图
在这里插入图片描述

/*** 方法1:虚拟结点 ,并复用已有的结点** @param head* @return*/
public static ListNode reverseListByDummyNotCreate(ListNode head) {if(head == null){return null;}ListNode ans = new ListNode(-1);ListNode cur = head;while(cur != null){ListNode next = cur.next; // 所以这里 需要保留一下cur后面的节点// ans.next = cur.next;// ans.next = cur;   不能这样写cur.next = ans.next;  // 改变当前节点的指针域 也就是说 现在cur后面的已经断了// 现在可以说 有两个指针指向 ans 的下一个节点ans.next = cur; // 更改指针域  下一个 ans 就不指向头节点了cur = next;  // 修改cur当前节点  进行下一次循环}return ans.next;
}

这个是经典的解决方法,很常用,一定要数量掌握。

不采用建立头节点的方法

因为上面的方法更容易想到,一般面试官也不建议使用头节点😒,不使用头节点更体现你对链表的熟悉程度。
那我们就来挑战一下😁:
我们梳理一下思路:
先画个图hahah😁
在这里插入图片描述
注意:链表的结构
我们来看一下执行期间的流程图:

  1. 开始prev指向null cur 指向头节点 next 指向下一个节点
  2. 这样从cur 开始把链表切成两段 修改cur后面的指针域
  3. cur.next = pre; pre = cur; cur = next; 完成替换

在这里插入图片描述
注意:上面👆的代码太重要了,建议理解的基础上,刻在骨子里,以后用的地方很多。

采用循环/递归的方式解决

这个放到后面解决,目前先不讨论。


总结

这里最主要的是掌握链表反转,【不带头节点的】⭐

相关文章:

算法通过村第二关-链表白银笔记

文章目录 再战链表|反转链表剑指 Offer II 024. 反转链表熟练掌握这两种解法建立头节点的解决思路不采用建立头节点的方法采用循环/递归的方式解决 总结 再战链表|反转链表 提示:多拿些酒来,因为生命只有乌有。 剑指 Offer II 024. 反转链表 如果不使用…...

力扣题库刷题笔记75--颜色分类

1、题目如下: 2、个人Pyhon代码实现如下: 第一种思路是取巧,通过计数0、1、2的个数,去替换nums 备注第10行代码在本地可以跑过,但是力扣跑不过,所以就用了第10-16行代码进行替换 第二种思路是通过冒泡排序去…...

《面试1v1》如何提高远程用户的吞吐量

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…...

论文笔记--Distilling the Knowledge in a Neural Network

论文笔记--Distilling the Knowledge in a Neural Network 1. 文章简介2. 文章概括3 文章重点技术3.1 Soft Target3.2 蒸馏Distillation 4. 文章亮点5. 原文传送门 1. 文章简介 标题:Distilling the Knowledge in a Neural Network作者:Hinton, Geoffre…...

Mac上安装sshfs

目录 写在前面安装使用参考完 写在前面 1、本文内容 Mac上安装sshfs 2、平台 mac 3、转载请注明出处: https://blog.csdn.net/qq_41102371/article/details/130156287 安装 参考:https://ports.macports.org/port/sshfs/ 通过port安装 点击啊insta…...

MQ公共特性介绍 (ActiveMQ, RabbitMQ, RocketMQ, Kafka对比)

本章介绍 本文主要介绍所有MQ框架都具备的公共特点,同时对比了一些目前比较主流MQ框架的优缺点,给大家做技术选型作参考。 文章目录 本章介绍MQ介绍适用场景异步通信案例一案例二 系统解耦削峰填谷广播通信总结 缺点MQ对比APQP历史AMQP是什么 MQ介绍 M…...

灵雀云Alauda MLOps 现已支持 Meta LLaMA 2 全系列模型

在人工智能和机器学习领域,语言模型的发展一直是企业关注的焦点。然而,由于硬件成本和资源需求的挑战,许多企业在应用大模型时仍然面临着一定的困难。为了帮助企业更好地应对上述挑战,灵雀云于近日宣布,企业可通过Alau…...

技术方案模版

技术方案模板 概述 1.1 术语 名称 说明 1.2 需求背景 来自产品的需求可以引用PRD和设计稿 技术类的改造需要写明背景业务用例分析 从需求中抽象出的核心用例详细设计 3.1 应用架构 3.2 模型设计 领域模型的关系,可以用UML 类图来实现 3.3. 详细实现 可以通过时序图…...

【Linux命令200例】cut强大的文本处理工具

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,2023年6月csdn上海赛道top4。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入…...

《论文阅读》具有特殊Token和轮级注意力的层级对话理解 ICLR 2023

《论文阅读》具有特殊Token和轮级注意力的层级对话理解 前言简介问题定义模型构建知识点Intra-turn ModelingInter-turn Modeling分类前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小白如何从零读懂论文?和我一…...

C# 定时器封装版

一、概述 在 Winform 等平台开发中,经常会用到定时器的功能,但项目定时器一旦写多了,容易使软件变卡,而且运行时间长了会造成软件的闪退,这个可能是内存溢出造成的,具体原因我也没去深究,另一个…...

前端学习——Vue (Day4)

组件的三大组成部分 组件的样式冲突 scoped <template><div class"base-one">BaseOne</div> </template><script> export default {} </script><style scoped> /* 1.style中的样式 默认是作用到全局的2.加上scoped可以让样…...

如果你是一个嵌入式面试官,你会问哪些问题?

以下是一些嵌入式面试中可能会问到的问题&#xff1a; 1.你对嵌入式系统有什么理解&#xff1f;它们与桌面或服务器系统有什么不同&#xff1f; 2.你用过哪些单片机和微处理器&#xff1f;对其中哪一款最熟悉&#xff1f; 3.你用什么编程语言编写嵌入式软件&#xff1f;你觉…...

学习笔记十三:云服务器通过Kubeadm安装k8s1.25,供后续试验用

Kubeadm安装k8s1.25 k8s环境规划&#xff1a;初始化安装k8s集群的实验环境先建生产环境服务器&#xff0c;后面可以通过生成镜像克隆node环境修改主机名配置yum源关闭防火墙关闭selinux配置时间同步配置主机 hosts 文件&#xff0c;相互之间通过主机名互相访问 **192.168.40.18…...

【Maven】Maven配置国内镜像

文章目录 1. 配置maven的settings.xml文件1.1. 先把镜像mirror配置好1.2. 再把仓库配置好 2. 在idea中引用3. 参考资料 网上配置maven国内镜像的文章很多&#xff0c;为什么选择我&#xff0c;原因是&#xff1a;一次配置得永生、仓库覆盖广、仓库覆盖全面、作者自用的配置。 1…...

ChatGPT有几个版本,哪个版本最强,如何选择适合自己的?

​ChatGPT就像内容生产界的瑞士军刀。它可以是数学导师、治疗师、职业顾问、编程助手&#xff0c;甚至是旅行指南。只要你知道如何让它做你想做的事&#xff0c;ChatGPT几乎可以提供你要的任何东西。 但重要的是&#xff0c;你知道哪个版本的ChatGPT最能满足你的需求吗&#x…...

pg_standby备库搭建

1.主库 1.1主库参数文件修改 -- 该路径也需要在从库创建 mkdir -p /postgresql/archive chown -R postgres.postgres /postgresql/archive-- 主库配置归档 wal_levelreplica archive_modeon archive_commandcp %p /postgresql/archive/%f restore_commandcp /postgresql/arch…...

RNNLSTM

文章目录 前言引言应用示例-槽填充(slot filling)-订票系统二、循环神经网络(RNN)三、Long Short-term Memory (LSTM)LSTM原理[总结](https://zhuanlan.zhihu.com/p/42717426)LSTM例子lstm的训练RNN不但可以N2NMany2One(输入是一个矢量序列,但输出只有一个矢量)Many2Ma…...

到底什么是前后端分离

目录 Web 应用的开发主要有两种模式&#xff1a; 前后端不分离 前后端分离 总结 Web 应用的开发主要有两种模式&#xff1a; 前后端不分离 前后端分离 理解它们的区别有助于我们进行对应产品的测试工作。 前后端不分离 在早期&#xff0c;Web 应用开发主要采用前后端不…...

【React】精选5题

第1题&#xff1a;简述下 React 的生命周期&#xff1f;每个生命周期都做了什么&#xff1f; React 组件的生命周期可以分为三个阶段&#xff1a;挂载阶段、更新阶段和卸载阶段。每个生命周期方法都有特定的目的和功能。 挂载阶段&#xff1a; constructor&#xff1a;组件的构…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...