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

【LeetCode】206. 反转链表

206. 反转链表

难度:简单

题目

给你单链表的头节点 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

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

个人题解

思路:

  1. 用两个变量反转即可
/*** Definition for singly-linked list.* 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; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode pre = null, cur = head;while (cur != null) {ListNode next = cur.next;cur.next = pre;pre = cur;cur = next;}return pre;}
}

官方题解

方法一:迭代
class Solution {public ListNode reverseList(ListNode head) {ListNode prev = null;ListNode curr = head;while (curr != null) {ListNode next = curr.next;curr.next = prev;prev = curr;curr = next;}return prev;}
}
方法二:递归
class Solution {public ListNode reverseList(ListNode head) {if (head == null || head.next == null) {return head;}ListNode newHead = reverseList(head.next);head.next.next = head;head.next = null;return newHead;}
}

作者:力扣官方题解
链接:https://leetcode.cn/problems/reverse-linked-list/solutions/551596/fan-zhuan-lian-biao-by-leetcode-solution-d1k2/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.lryc.cn/news/233676.html

相关文章:

  • 飞天使-通过GET 和POST进案例演示
  • 【MySql】12- 实践篇(十)
  • <C++> 反向迭代器
  • 【EI会议征稿】第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024)
  • 格力报案称“高管遭自媒体侮辱诽谤”
  • HBase之Compaction
  • 设计模式之结构型模式
  • centOs 6.10 编译 qt 5.15.11
  • Redis对象的数据结构及其原理汇总
  • @RestController 注解网页返回 [] ,出现的bug
  • C语言指针详解(1)(能看懂字就能明白系列)文章超长,慢慢品尝
  • 为什么别人年薪30W+?同样为测试人,“我“的测试之路...
  • 【Unity】XML文件的解析和生成
  • Vue h5页面手指滑动图片
  • Python类属性下划线的意义
  • DbUtils概述
  • 大数据基础设施搭建 - Hadoop
  • 测试开发环境下centos7.9下安装docker的minio
  • Django之模版层
  • spark性能调优 | 内存优化
  • 【PG】PostgreSQL高可用之自动故障转移-repmgrd
  • 操作系统OS/存储管理/内存管理/内存管理的主要功能_基本原理_要求
  • 【手写数据库toadb】SQL解析器的实现架构,create table/insert 多values语句的解析树生成流程和输出结构分析
  • 设计模式-备忘录模式-笔记
  • 机器学习—基本术语
  • pytorch单精度、半精度、混合精度、单卡、多卡(DP / DDP)、FSDP、DeepSpeed模型训练
  • 基于PHP的纺织用品商城系统
  • Go使用命令行输出二维码
  • 最长连续序列[中等]
  • 设计模式-状态模式-笔记