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

LeetCode[19]删除链表的倒数第N个节点

思路:

要想一次循环,一趟遍历完,那肯定是要想到双指针了,但是双指针怎么做呢?题目给出删除倒数第N个,我们如果能找到倒数第N个节点的前一个节点就行了,倒数第N个肯定是倒着数,那我们就让两个指针中间就差N个单位,当快指针走到链表最后一个的下一个null节点时,这时候慢指针就是倒数第N个节点的前一个节点了,因为快慢指针始终相差N个节点。

 代码:

/**
 * 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 removeNthFromEnd(ListNode head, int n) {
        ListNode hair = new ListNode(-1,head);
        ListNode pre = hair, cur = head;
        for(int i=0;i<n;i++){
            cur = cur.next;
        }
        while(cur!=null){
            pre = pre.next;
            cur = cur.next;
        }
        pre.next = pre.next.next;
        return hair.next;
    }
}

相关文章:

  • 【Go语言圣经3.1】
  • 《Python深度学习》第一讲:深度学习基础
  • uniapp APP权限弹框
  • 高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
  • 卷积神经网络 - 基本概念
  • 【玩转正则表达式】Python、Go、Java正则表达式解释器的差异解析(附示例)
  • 【Mac 从 0 到 1 保姆级配置教程 08】08. 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了
  • 算法刷题记录——LeetCode篇(10) [第901~1000题](持续更新)
  • MySQL:Ubuntu下安装MySQL 8.0记录
  • Maya的操作基础教学
  • Redis--渐进式遍历
  • 应急响应靶场练习-Web1
  • tensorflow与torch并行读取数据机制
  • C盘清理终极方案——基于Windows软连接的目录迁移实战
  • ESP32-H2芯片模组方案,设备物联网通信,智能化无线控制联动
  • LabVIEW压比调节器动态试验台
  • [Linux]从零开始的泰山派运行yolov8教程
  • 保姆级离线TiDB V8+解释
  • linux 命令 mv
  • MYSQL8.0数据库误删除记录恢复 MYSQL8.0数据库崩溃恢复 MYSQL8.0数据库删除表恢复
  • 宿州市委副书记任东已任市政府党组书记
  • 拍摄《我们这一代》的肖全开展“江浙沪叙事”
  • 经营业绩持续稳中向好,国铁集团2024年度和2025年一季度财务决算公布
  • 揭秘神舟十九号返回舱“软着陆”关键:4台发动机10毫秒内同时点火
  • 亚马逊拟为商品标注“关税成本”,特朗普致电贝索斯讨说法
  • 关于新冠疫情防控与病毒溯源的中方行动和立场