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

【每日一题】LeetCode——反转链表

在这里插入图片描述

📚博客主页:爱敲代码的小杨.

✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》

❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️

🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!


文章目录

  • 1. 题目描述
    • 示例1
    • 示例2
    • 示例3
    • 提示
  • 2. 思路
  • 3.代码

1. 题目描述

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

示例1

img

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

输出:[5,4,3,2,1]

示例2

img

输入:head = [1,2]

输出:[2,1]

示例3

输入:head = [ ]

输出:[ ]

提示

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

题目链接

2. 思路

  1. 判断链表是否为空,如果为空直接返回头结点

  2. 判断链表是否为一个元素,如果是直接返回头结点

  3. head置为null

  4. 定义两个指针,curcurNextcur 指向头结点的next,表示要反转的元素;curNext指向curnext,表示要反转元素的下一个元素

  5. 使用头插法将要反转的元素插入前一个元素的前面

    image-20231218095202374

3.代码

/*** 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) {if (head == null) { // 链表里一个元素都没有return head;}if (head.next == null) { // 链表里只有一个元素return head;}ListNode cur = head.next; // 要反转的元素head.next = null;while (cur != null) {ListNode curNext = cur.next;// 头插法cur.next = head;head = cur;cur = curNext;}return head;}
}

运行结果:

image-20231218093949377

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

相关文章:

  • 精通Python爬虫:掌握日志配置
  • Python_百度贴吧评论情感分析
  • 如何运行心理学知识(心流)来指导工作和生活
  • 精简还是全能?如何在 Full 和 Lite 之间做出最佳选择!关于Configuration注解的Full模式与Lite模式(SpringBoot2)
  • springboot微信小程序uniapp学习计划与日程管理系统
  • 236.二叉树的最近公共祖先
  • ETL是什么,有哪些ETL工具?就业前景如何?
  • 无人机系统组装与调试,多旋翼无人机组装与调试技术详解,无人机飞控系统原理
  • Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁
  • 【开源】JAVA+Vue.js实现高校实验室管理系统
  • Flink CDC 与 Kafka 集成:Snapshot 还是 Changelog?Upsert Kafka 还是 Kafka?
  • 极智一周 | 国产CPU系列汇总、鲲鹏、飞腾、平头哥 And so on
  • PgSQL技术内幕 - case when表达式实现机制
  • Android9~Android13 某些容量SD卡被格式化为内部存储时容量显示错误问题的研究与解决方案
  • 音视频色彩:RGB/YUV
  • MySQL之密码策略和用户授权
  • 电脑通电自启动设置
  • hive表加字段
  • 从零构建Hugo主题 - I
  • 【HarmonyOS应用开发】HTTP数据请求(十四)
  • MongoDB聚合: $sortByCount
  • FY-SA-20237·8-AI‘sIQ
  • react将选中文本自动滑动到容器可视区域内
  • Rust语言入门小结(第1篇)
  • 前端实现支付跳转以及回跳
  • 黑豹程序员-封装组件-Vue3 setup方式子组件传值给父组件
  • PySpark(三)RDD持久化、共享变量、Spark内核制度,Spark Shuffle、Spark执行流程
  • PCIE Order Set
  • nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析(下)
  • 基于SSM的网络在线考试系统(有报告)。Javaee项目。ssm项目。