Leetcode NO.206 Reverse Linked List 反转链表(迭代&递归)

【LeetCode 206. Reverse Linked List】初级题目:反转链表(C语言实现) Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL Follow up: A linked list can be reversed either iteratively or recursively... 阅读详情

1.问题描述

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

2.测试用例

示例 1:

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

示例 2:

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

示例 3:

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

3.提示

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

4.代码

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;
    }
}
1.迭代
code
public ListNode reverseListWithLoop(ListNode head) {
        ListNode prev = null;
        ListNode current = head;
        ListNode next;

        while (current != null) {
            next = current.next;
            current.next = prev;
            prev = current;
            current = next;
        }
        return prev;
}
复杂度

时间 O(n)
空间 O(1)

2. 递归
code
public ListNode reverseListWithRecursion(ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }
        ListNode reversedRest = reverseListWithRecursion(head.next);
        head.next.next = head;
        head.next = null;
        return reversedRest;
}
复杂度

时间 O(n)
空间 O(n)

芯片设计流程中的def文件 在实际的DEF文件中,每个部分都包含了与实际设计相关的详细信息,这个模板只展示了每个部分的基本结构。在实际应用中,DEF文件通常由EDA(电子设计自动化)工具在完成布局(Placement)和布线(Routing)步骤后自动生成,在集成电路设计中,DEF(Design Exchange Format)文件的模板具体内容会依设计的复杂性和特定需求而变化。简而言之,LEF文件提供了单元的物理特性和规则,而DEF文件使用这些规则来确定单元。)文件描述了特定设计中所有物理元素的精确放置和连线信息。 阅读详情

相关推荐

经典蓝牙中的Sniff、Hold与Park模式

若主设备在Sniff Attempt窗口外发送数据,从设备无法接收,需依赖重传机制。移动时立即传输数据。:Sniff Interval=20ms,Attempt=1时隙。:传感器每2秒唤醒一次同步信标,主设备按需唤醒特定传感器采集数据。Slave进入Sniff模式:每20ms唤醒1个时隙监听数据。:设备需要短暂执行高优先级任务(如扫描其他蓝牙设备)。:无数据传输超时后,设备可能自动进入Sniff模式。:主设备通过信标唤醒从设备,或从设备主动请求退出(:平衡功耗与响应速度,适合间歇性数据传输设备。

shishuangquan111的博客 1673

206. Reverse Linked List(递归法问题)

问题描述Reverse a singly linked list.Hint: A linked list can be reversed either iteratively or recursively. Could you implement both?题目链接:思路分析将一个链表翻转。用递归和迭代两种方式。迭代法:使用三个指针,分别为head,head之前的结点pre,head之后的结点po

BigFatSheep的博客 524

别再卡在Google验证了!用Header Editor插件5分钟搞定TryHackMe注册(附最新.json规则)

本文提供了使用Header Editor插件快速解决TryHackMe注册时Google验证失败问题的详细指南。通过导入特定的JSON规则文件,用户可以轻松绕过网络限制,5分钟内完成账号注册,无需复杂设置。文章包含完整的配置步骤、常见问题解决方案以及安全使用建议。

weixin_30736301的博客 463

LeetCode 206. Reverse Linked List(迭代和递归两种实现)

递归的代码比迭代的代码看起来更清爽一些,也是因为递归对行为进行了抽象吧。 注意到,这是一个尾递归函数,一些编译器会将它优化为迭代,这样一方面,在代码层面保持了清晰的逻辑和可读性,一方面保持了代码的性能。 代码: class Solution { public: ListNode* reverseList(ListNode* head) { // return iterat

Stephen Wong的专栏 1937

ACL访问控制列表详解:原理、配置与应用

如果发现ACL规则没有达到预期效果,需要检查ACL规则配置是否正确,是否在正确的接口和方向上应用,以及规则顺序是否合理(ACL规则按顺序匹配,匹配到即停止)。其中,rule-id是规则的编号,用于确定规则的匹配顺序;例如,应该先配置针对特定主机和特定端口的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作,避免因规则顺序不当导致的访问控制失效。例如,应该先配置针对特定主机的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作。

彭大帅的博客 1048

SAP FI 提示没有为会计年度0 定义版本2025 GP626

SAP 错误 GP626 是一个常见的系统消息,通常表示某个会计年度的版本(如版本 0)未被定义或未激活。:在执行某些事务(如创建采购订单、过账凭证或维护成本中心)时,系统会检查相关版本是否已定义。的“Settings for Each Fiscal Year”界面中,选择一个已激活的会计年度。的“Settings for Each Fiscal Year”界面中,找到未激活的会计年度。:在控制范围(Controlling Area)中,未为指定的会计年度定义版本 0。如果没有,添加或复制现有年度的设置。

GAVIN 2490

LeetCode 206. Reverse Linked List 题解

本题是链表操作的经典问题。迭代方法:三个指针的使用递归方法:递归栈的利用指针反转的顺序通过本题可以深入理解链表操作的基本技巧。

cannonjinx的博客 4103

TMS320F280049C 学习笔记4 Led_ex1_blinky 初始化函数及系统时钟

承接上一篇学习笔记,这次开始实际运行例程。本文概述了280049C的第一个实验 Led灯闪烁。同时也总结了系统的初始化函数和时钟配置。

whyorwhnt的专栏 7031

【LeetCode】206、反转链表 Reverse Linked List

【LeetCode】206、反转链表 Reverse Linked List 反转链表不用多说了吧,考的频率太大了。 一、题目描述 题目地址 https://leetcode-cn.com/problems/reverse-linked-list/ 二、小白代码 一如既往… /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Lis

Zangjiji的博客 530

Coze实战:解锁多Bot协同与条件分支工作流的奥秘

本文详细介绍了在字节跳动Coze平台实现多Bot协同与条件分支工作流的方法。首先阐述了Coze平台的功能优势,包括丰富的插件、知识库和工作流功能。随后分步骤讲解了多Bot协同的实现:从准备工作、创建Bot到协同配置,并提供了电商客服的实例演示。在条件分支工作流部分,详细说明了条件节点的作用类型、条件设定方法以及具体配置操作,强调测试优化的重要性。最后通过电商平台综合案例,展示了多Bot协同与条件分支的实际应用效果,并针对常见问题提供解决方案。文章为开发者在Coze平台上构建智能应用提供了实用指导,有助于提升

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 450

性能优化-高通cDSP(QDSP6)架构详解

高通cDSP开发的商业价值30秒快速认识高通cDSP开发的商业价值【高通cDSP旨在处理一些简单但需要大量计算的场景,如图像处理、科学计算、AI训练、计算机视觉等。这些场景使用CPU来运算会极大的降低CPU的吞吐量,因此利用现代寄存器较宽的特性设计出了适配数据并行的DSP芯片,cDSP就是典型的代表。利用cDSP+CPU既可以满足一般的使用场景,也可以完成现代图像和视频数据的处理。

发狂的小花的博客 5945

LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)

翻译反转一个单链表。原文Reverse a singly linked list.分析我在草纸上以1,2,3,41,2,3,4为例,将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致):有了这个图,那么代码也就自然而然的出来了:ListNode* reverseList(ListNode* head) { ListNode* newHead = NULL; wh

nomasp 6502

基于加速科技ST2500的SN74HC00N芯片测试计划

实际上随着工艺的进步,器件内部和引脚间的绝缘氧化膜越来越薄,导致漏电流发生的概率更大,另外制造过程中的工艺缺陷导致的桥接,异物或封装过程中造成的芯片划伤、引裂,都会造成IC的漏电流偏大,有部分产品可能会表现出漏电流偏大,但功能正常,此类产品具有潜在的可靠性问题,漏电流测试的目的就是把具有此类缺陷的产品筛选出来,避免其流到最终产品造成更大的损失。漏电流的测试方法相对简单,就是根据产品手册或测试规范对被测引脚施加额定的电压,然后测量其输入或流出的电流是否符合相应的设计规范。74HC00引脚功能如表所示。

weixin_68288412的博客 1437

【LeetCode & 剑指offer刷题】链表题1:14 反转链表 206. Reverse Linked List(系列)

【LeetCode &amp;amp; 剑指offer刷题】链表题1:14 反转链表 206. Reverse Linked List(系列) 【LeetCode &amp;amp; 剑指offer 刷题笔记】目录(持续更新中...) 206. Reverse Linked List Reverse a singly linked list. Example: ...

技术改变世界 1322

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode206:Reverse Linked List

Reverse a singly linked list. click to show more hints. Hint: A linked list can be reversed either iteratively or recursively. Could you implement both? 使用迭代和递归实现单链表的反转。 迭代的方法之间在剑指offer上面

2248

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LeetCode—206.反转链表(Reverse Linked List)——分析及代码(C++)

LeetCode—206.反转链表[Reverse Linked List]——分析及代码[C++] 一、题目 二、分析及代码 1. 迭代(直接记录前后节点) (1)思路 (2)代码 (3)结果 2. 迭代(栈) (1)思路 (2)代码 (3)结果 3. 递归 (1)思路 (2)代码 (3)结果 三、其他 一、题目 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

江南土豆的博客 357

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LeetCode 206. Reverse Linked List(反转链表) -- c语言

206. Reverse Linked List Reverse a singly linked list. Example: Input: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL Output: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL Follow up: A linked list can be reversed eit...

d_benhua的博客 433

LeetCode 206. Reverse Linked List(反转链表)

一、两种解法: 迭代法 递归法 二、具体代码: 迭代法 //迭代法(自己写的,以head开头) public static ListNode reverseList(ListNode head) { //链表为空||只有一个结点 if(head == null || head.next == null) return head; ListNode one = h...

肉丸不肉 486

LeetCode C++ 206. Reverse Linked List【LinkedList】【链表反转】

Reverse a singly linked list. Example: Input: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL Output: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL Follow up: A linked list can be reversed either iteratively or recursively...

memcpy0的博客 643

Leetcode 206.反转链表(Reverse Linked List)

在这里插入代码片# Leetcode 206.反转链表 1 题目描述(Leetcode题目链接)   反转一个单链表。 输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL 输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 2 题解   新建一个链表,头插法插入节点。 # Defi...

qq_39378221的博客 177

LeetCode --- 206. Reverse Linked List丨反转链表

206. Reverse Linked List Difficulty: Easy Reverse a singly linked list. Example: Input: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL Output: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL Follow up: A linked list can be r...

MissXy_的博客 356

Python 反转链表-reverse linked list Leetcode No.206

反转链表-reverse linked list 假设存在链表 1 → 2 → 3 → Ø,我们想要把它改成 Ø ← 1 ← 2 ← 3。 在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来存储下一个节点。不要忘记在最后返回新的头引用! #非递归的形式 class Solution: ...

GhostintheCode的博客 660

LeetCode206. Reverse Linked List(反转链表)

题目链接:https://leetcode.com/problems/reverse-linked-list/ 方法一:迭代反转 https://blog.csdn.net/qq_17550379/article/details/80647926讲的很清楚 /** * Definition for singly-linked list. * struct ListNod...

Cherrychan2014的博客 472

[Leetcode力扣 206] Reverse Linked List

一、题目描述 反转一个单链表。一道非常简单,非常基础的题,然而我某次面试竟然没写出来......所以在这里好好反思总结一下。 二、迭代法 以“1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;nullptr”为例。 如果链表没有节点或者只有1个节点,那么直接返回即可,不需要做操作,所以最小规模的情况要2个节点。 从第2个节点开始迭代,每一次要将当前节点指向上一个head,并且要将head每次都更新为指向当前节点。除此之外还要注意,最开始的head指向的节点一定是尾节点,所以要把开始的

NiuYutao的博客 321

leetcode 206. Reverse Linked List 反转链表 链表题

leetcode 206. Reverse Linked List 反转链表 链表题 leetcode 2020年3月 每日一题打卡 题目: 反转一个单链表。 示例: 输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL 输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(...

weixin_43973433的博客 241

LeetCode 206. 反转链表 Reverse Linked List

Table of Contents 一、中文版 二、英文版 三、My answer 四、解题报告 一、中文版 反转一个单链表。 示例: 输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL 输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 二、英文版 Rever...

三妹的博客 421
上一篇: Leetcode NO.287 Find The Duplicate Number
下一篇: Leetcode NO.21 Merge Two Sorted Lists && 合并链表(有序)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值