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

剑指Offer 24-反转链表

题目描述:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解题思路: 这道题做过很多次,还是会卡,不过这次算是彻底搞懂了,就写下来,记录一下
具体思路看图吧~
在这里插入图片描述

两种方法,一种递归,一种双指针。

双指针

class Solution {public ListNode reverseList(ListNode head) {// 使用双指针ListNode pre = null;ListNode cur = head;while (cur!= null){ListNode temp = cur.next;cur.next = pre;pre = cur;cur = temp;}return pre;}
}

递归

class Solution {public ListNode reverseList(ListNode head) {// 递归return reverse(head, null);}public static ListNode reverse(ListNode cur, ListNode pre){if (cur== null){return pre;}ListNode tmp = cur.next;cur.next = pre;pre = cur;cur = tmp;return reverse(cur, pre);}
}
http://www.lryc.cn/news/141661.html

相关文章:

  • 小研究 - Java虚拟机即时编译器的一种实现原理
  • 【LeetCode】416.分割等和子集
  • go vet中的那些检测项
  • Qt 自定义菜单、右键菜单
  • VScode 编辑器报错: ‘HelloWorld‘ is declared but its value is never read.
  • 如何使用LLM实现文本自动生成视频
  • Rust处理JSON
  • Python如何操作网络爬虫
  • linux文件复制覆盖命令
  • modbus概览
  • KMP算法开荒
  • XXL-JOB(2)
  • Linux常用命令_网络命令、关机重启命令
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I
  • 如何使用Docker搭建ZooKeepe集群
  • 【javaweb】学习日记Day3 - Ajax 前后端分离开发 入门
  • SQL注入漏洞复现:探索不同类型的注入攻击方法
  • 大彩串口屏使用记录
  • Qt http 的认证方式以及简单实现
  • 【图像分割】实现snake模型的活动轮廓模型以进行图像分割研究(Matlab代码实现)
  • 【MongoDB系列】1.MongoDB 6.x 在 Windows 和 Linux 下的安装教程(详细)
  • 5.网络原理之初识
  • 【Linux】进程状态|僵尸进程|孤儿进程
  • ASEMI快恢复二极管APT80DQ60BG特点应用
  • 【Python爬虫】使用代理ip进行网站爬取
  • 识别图片中的文字
  • 第七章:借阅管理【基于Servlet+JSP的图书管理系统】
  • 算法 for GAMES
  • 自研分布式IM-HubuIM RFC草案
  • tableau基础学习1:数据源与绘图