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

leetcode——翻转链表(java)

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

示例 1:

img

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

示例 2:

img

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

示例 3:

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

解题方法:(双指针)

1.首先,我们需要准备好前后双指针,一个指向链表的头节点(左指针),一个指向null节点(右指针)。

2.开始循环,直到我们指向右节点的指针为null。

3.然后我们需要一个中间暂存变量,储存左指针的下一位,然后我们的左指针指向右指针。

4.最后交换左右指针,然后将左指针指向暂存变量。

/**
 * 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 nxt = cur.next;
            cur.next = pre;
            pre = cur;
            cur = nxt;
        }
        return pre;
    }
}


http://www.kler.cn/a/519129.html

相关文章:

  • HTML从入门到精通:链接与图像标签全解析
  • 利用Redis实现数据缓存
  • 量子编程语言:Qiskit 与 Cirq
  • 几种不常用的 MyBatis 写法
  • Spring Boot 3.4 正式发布,结构化日志!
  • mysql 学习3 SQL语句--整体概述。SQL通用语法;DDL创建数据库,查看当前数据库是那个,删除数据库,使用数据库;查看当前数据库有哪些表
  • (回溯分割)leetcode93 复原IP地址
  • AI学习(vscode+deepseek+cline)
  • INMP441一款微型电容式麦克风(MEMS麦克风)
  • Zookeeper(28)Zookeeper的线性化写入和顺序一致性读是什么?
  • 代码随想录day4
  • 【论文推荐|深度学习,滑坡检测,多光谱影像,自然灾害,遥感】2022年Landslide4Sense竞赛成果:基于多源卫星影像的先进滑坡检测算法研究(一)
  • 手机app如何跳过无障碍权限实现弹框自动点击-ADB连接专题
  • Redis 详解
  • 开源智慧园区管理系统对比五款主流产品探索智能运营新模式
  • PCB布线注意事项(1)
  • 深度学习 | 表示学习 | 卷积神经网络|翻转卷积核是干啥呢|09
  • 搭建Spring Boot开发环境
  • hot100_141. 环形链表
  • 125周六复盘 (167)帧数优化
  • Blazor-选择循环语句
  • 奇怪的单词(快速扩张200个单词)
  • 基于Matlab实现雷达目标特性相关仿真
  • 数据结构:二叉树—面试题(一)
  • 股指期货交割日是哪一天?股指期货什么时候交割?
  • C语言常用字符串处理函数