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

每日OJ题_算法_递归③力扣206. 反转链表

目录

力扣206. 反转链表

解析代码


力扣206. 反转链表

206. 反转链表

LCR 024. 反转链表

难度 简单

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

示例 1:

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

示例 2:

输入:head = [1,2]
输出:[2,1]

示例 3:

输入:head = []
输出:[]

提示:

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

进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {}
};

解析代码

这次循环迭代也写过了,且用循环更好,但练下递归:

左图就是把紫矿里的链表反转后链接到head,head再指向空,右图就是把链表看成一棵树。

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {// 用下面的循环迭代更好,但练下递归;// 链表看成一颗树,遇到空结点/叶子结点就返回,让叶子结点指回去if(head == nullptr || head->next == nullptr)return head;ListNode* newHead = reverseList(head->next); // 把head后面的都递归好head->next->next = head; // 让叶子结点指回去head->next = nullptr; // 为了统一步骤return newHead;// 循环迭代法/*ListNode *newHead = nullptr, *cur = head;while(cur){ListNode *curNext = cur->next;cur->next = newHead; // 头插newHead = cur; // 往后走cur = curNext;}return newHead;*/}
};

相关文章:

每日OJ题_算法_递归③力扣206. 反转链表

目录 力扣206. 反转链表 解析代码 力扣206. 反转链表 206. 反转链表 LCR 024. 反转链表 难度 简单 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,…...

【Linux】指令 【whereis】

whereis是一个用于查找特定文件在文件系统中的位置的命令。 主要查找二进制文件或帮助文件&#xff0c;适用于那些不属于常规文件系统的特殊文件。 查找ping命令的二进制文件&#xff0c;你可以使用如下命令&#xff1a; whereis -b ping查看命令的帮助文件&#xff0c;可以添…...

牛客网SQL进阶128:未完成试卷数大于1的有效用户

官网链接&#xff1a; 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_record&#xff08;uid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240&tqId2183007&ru%2…...

GitHub的使用操作

记得看目录哦&#xff01; 1. 创建仓库2. 下载desktop3. 把创建的库克隆到本地4. 文件拷贝到本地仓库![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7171ac6c4ca14e3b8d22717121f79c9e.png)5. 在网址后面加/compare进行比较6. 给系统添加功能 1. 创建仓库 2. 下载…...

智慧公厕管理软件

随着城市化的不断推进&#xff0c;城市公共设施逐渐完善&#xff0c;其中智慧公厕的建设也在不断提速。智慧公厕作为城市基础设施的重要组成部分&#xff0c;对城市卫生水平提升有着不可忽视的作用。而智慧公厕管理软件更是智慧公厕管理的基础&#xff0c;是公共厕所智慧化管理…...

【30秒看懂大数据】数据中台

知幽科技是一家专注企业数字/智化&#xff0c;围绕数据价值应用的一站式数智化解决方案的咨询公司&#xff0c;也包括了为企业提供定制化数据培训&#xff0c;力求做企业最好的数智化决策伙伴。 点击上方「蓝字」关注我们 30秒看懂大数据专栏 让您在有限的碎片化时间&#xf…...

【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,了解元素交互的常用方法(精)(三)

导言 在之前的文章里&#xff0c;我们一起学习了定位方式、等待机制等内容。相信通过之前的学习&#xff0c;你已经掌握了WEB自动化的一些入门知识&#xff0c;具备了编写代码的一些基础知识和能力。这篇文章&#xff0c;让我们一起学习一下模拟键盘事件。 在实际的项目当中&a…...

GPT-4带来的思想火花

GPT-4能够以其强大的生成能力和广泛的知识储备激发出众多思想火花。它能够在不同的情境下生成新颖的观点、独特的见解和富有创意的解决方案&#xff0c;这不仅有助于用户突破思维定势&#xff0c;还能促进知识与信息在不同领域的交叉融合。 1.GPT-4出色的创新思考和知识整合能…...

使用倒模耳机壳UV村脂胶液制作舞台监听耳返入耳式耳机壳有哪些优点?

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳有很多优点&#xff0c;具体如下&#xff1a; 高音质表现&#xff1a;通过倒模工艺制作的耳机壳能够更好地贴合耳朵&#xff0c;减少声音散射和反射&#xff0c;提高声音的清晰度和质感。这对于舞台监听来说非常重要&…...

html从零开始8:css3新特性、动画、媒体查询、雪碧图、字体图标【搬代码】

css3新特性 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …...

HAL库 STM32驱动W25QXX驱动例程

HAL库 STM32驱动W25QXX驱动例程 &#x1f4cd;驱动程序参考&#xff1a;《STM32CubeMX | 基于STM32使用HAL库W25Q128驱动程序》&#x1f511; 驱动方式&#xff1a;硬件SPI方式和SPI DMA方式。&#x1f516;适用于&#xff1a;W25X系列/Q系列芯片:W25Q80、W25Q16、W25Q32、 W25…...

C#入门及进阶|数组和集合(九):Stack类

在C#中&#xff0c;通过类Stack来封装对栈的操作&#xff0c;使得对栈的操作变得非常简单和容易理解。 栈是按照“后进先出”的原则来操作元素。 栈集合常用的属性和方法: 属性说明Count获取 Stack 中包含的元素数。方法说明Peek返回位于栈顶部的对象但不将其移除。Po…...

算法训练day31贪心算法理论基础Leetcode455分发饼干376摆动序列53最大子序和

贪心算法理论基础 文章链接 代码随想录 (programmercarl.com) 说实话贪心算法并没有固定的套路。最好用的策略就是举反例&#xff0c;如果想不到反例&#xff0c;那么就试一试贪心吧。 面试中基本不会让面试者现场证明贪心的合理性&#xff0c;代码写出来跑过测试用例即可&…...

Java与JavaScript同源不同性

Java是目前编程领域使用非常广泛的编程语言&#xff0c;相较于JavaScript&#xff0c;Java更被人们熟知。很多Java程序员想学门脚本语言&#xff0c;一看JavaScript和Java这么像&#xff0c;很有亲切感&#xff0c;那干脆就学它了&#xff0c;这也间接的帮助了JavaScript的发展…...

【JavaEE】spring boot快速上手

SpringBoot快速上手 文章目录 SpringBoot快速上手Maven会出现的一个官方bug创建完项目之后常用的的三个功能依赖管理Maven仓库中央仓库本地仓库国内源配置私服 springboot项目创建什么是springspring boot项目的创建Hello Worldweb服务器 SpringMVC什么是SpringWebMVC什么是MVC…...

【数据结构】16 二叉树的定义,性质,存储结构(以及先序、后序、中序遍历)

二叉树 一个二叉树是一个有穷的结点集合。 它是由根节点和称为其左子树和右子树的两个不相交的二叉树组成的。 二叉树可具有以下5种形态。 性质 一个二叉树第i层的最大结点数为 2 i − 1 2^{i-1} 2i−1, i ≥ 1 i \geq 1 i≥1 每层最大结点可以对应完美二叉树&#xff08;…...

GPT SOVITS项目 一分钟克隆 (文字输出)

步骤流程&#xff1a;&#xff08;首先使用UVR 提取人声文件&#xff0c;然后按下面步骤进行&#xff09; 注意这里提交的音频是参考的音频...

python34-Python列表和元组之加法

列表和元组支持加法运算&#xff0c;加法的和就是两个列表或元组所包含的元素的总和。 需要指出的是&#xff0c;列表只能和列表相加;元组只能和元组相加;元组不能直接和列表相加。 如下代码示范了元组和列表的加法运算。 # !/usr/bin/env python# -*- coding: utf-8 -*-# T…...

不做程序员了(转岗半年后对程序员岗位的思考)

不做程序员了&#xff08;转岗半年后对程序员岗位的思考&#xff09; 前言 好久没有更新了&#xff0c;已经久到CSDN的小编来问我为什么不更了。原因是我半年前转岗了&#xff0c;不再做程序员了&#xff0c;由程序员变为了产品经理。废话不多说&#xff0c;换个视角来给大家…...

DS:八大排序之直接插入排序、希尔排序和选择排序

创作不易&#xff0c;感谢三连支持&#xff01;&#xff01; 一、排序的概念及运用 1.1 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起 来的操作。稳定性&…...

Wan2.2-I2V-A14B生产环境部署:Nginx反向代理与Docker Compose编排

Wan2.2-I2V-A14B生产环境部署&#xff1a;Nginx反向代理与Docker Compose编排 1. 部署目标与前置准备 在开始之前&#xff0c;我们先明确这次部署要实现的目标&#xff1a;通过Docker Compose编排Wan2.2-I2V-A14B模型服务及其依赖组件&#xff0c;使用Nginx作为反向代理&…...

从入门到精通:用OmenSuperHub打造专属惠普游戏本性能方案

从入门到精通&#xff1a;用OmenSuperHub打造专属惠普游戏本性能方案 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub &#x1f50d; 问题发现&#xff1a;官方游戏控制中心的五大痛点 作为惠普OMEN游戏本用户&#xff0c;你…...

Nunchaku FLUX.1-dev 文生图技术解析:卷积神经网络在图像生成中的角色

Nunchaku FLUX.1-dev 文生图技术解析&#xff1a;卷积神经网络在图像生成中的角色 最近在尝试各种文生图模型时&#xff0c;Nunchaku FLUX.1-dev 的表现让我印象深刻。它生成的图片不仅细节丰富&#xff0c;而且风格多样&#xff0c;从写实到抽象都能驾驭得很好。这让我不禁好…...

LangChain详解:大模型应用开发框架(通俗理解+专业解析+Python实战)

LangChain详解&#xff1a;大模型应用开发框架&#xff08;通俗理解专业解析Python实战&#xff09; 摘要&#xff1a;随着大语言模型&#xff08;LLM&#xff09;的普及&#xff0c;单纯调用模型API已无法满足复杂业务需求——如何让大模型“记住”对话历史、“调用”外部工具…...

从“偏科生”GPT-3到“全能选手”:聊聊MMLU基准如何推动大模型进化

从“偏科生”到“全能选手”&#xff1a;MMLU基准如何重塑大模型进化路径 当GPT-3在2020年以1750亿参数震惊世界时&#xff0c;人们很快发现这个"天才"存在明显的知识盲区——它在某些专业领域的表现堪比专家&#xff0c;却在另一些基础学科上失误频频。这种"偏…...

SUPER COLORIZER一键部署指南:基于Ubuntu 20.04的完整环境配置教程

SUPER COLORIZER一键部署指南&#xff1a;基于Ubuntu 20.04的完整环境配置教程 你是不是也遇到过一些珍贵的老照片&#xff0c;因为年代久远而褪色&#xff0c;想恢复它原本的色彩却无从下手&#xff1f;或者&#xff0c;你有一些黑白的设计稿&#xff0c;想快速预览上色后的效…...

Java 企业级应用:基于 SpringBoot 集成 Pixel Dream Workshop 构建内容中台

Java 企业级应用&#xff1a;基于 SpringBoot 集成 Pixel Dream Workshop 构建内容中台 1. 企业内容中台的业务场景与挑战 现代企业面临内容生产的三大痛点&#xff1a;创意产出效率低、设计资源不足、多平台适配成本高。以电商行业为例&#xff0c;一个中型电商平台每月需要…...

Lattice Diamond 3.11安装到实战:一个FPGA小白的避坑血泪史(附完整问题清单)

Lattice Diamond 3.11安装到实战&#xff1a;一个FPGA小白的避坑血泪史&#xff08;附完整问题清单&#xff09; 如果你正准备踏入Lattice FPGA的世界&#xff0c;手里攥着Diamond 3.11安装包&#xff0c;既兴奋又忐忑——这篇文章就是为你准备的。作为过来人&#xff0c;我深知…...

ofa_image-caption实际项目:为AR眼镜提供实时本地图像语义理解能力

ofa_image-caption实际项目&#xff1a;为AR眼镜提供实时本地图像语义理解能力 1. 项目背景与价值 想象一下&#xff0c;当你戴着AR眼镜走在街上&#xff0c;看到一家咖啡馆的招牌&#xff0c;眼镜立即为你生成这段英文描述&#xff1a;"A modern coffee shop with larg…...

告别第三方工具:用Cloudflare官方测速文件快速检测你的网络性能

告别第三方工具&#xff1a;用Cloudflare官方测速文件快速检测你的网络性能 你是否遇到过这样的场景&#xff1a;视频缓冲转圈、文件下载龟速、在线会议卡顿&#xff0c;却不知道是网络问题还是服务商的问题&#xff1f;传统的测速工具要么需要安装软件&#xff0c;要么广告满天…...