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

LeetCode 19. 删除链表的倒数第 N 个结点(java)

目录

题目描述:

代码:

第一种:

第二种:


题目描述:

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1:

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

示例 2:

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

示例 3:

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

代码:

第一种:

递归

public ListNode removeElements1(ListNode head, int n)
    {
         ListNode s=new ListNode(-1,head);
         recursion(s, n);
         return s.next;
    }
    private int recursion(ListNode p, int n){
        if(p == null)
            return 0;
        int nth=recursion(p.next, n); //下一个节点的返回值
        if(nth == n)//p是当前节点
            p.next=p.next.next;
        return nth+1;//当前节点的值
    }

第二种:

 public ListNode removeElements(ListNode head, int n){
        ListNode s=new ListNode(-1,head);
        ListNode p1=s;
        ListNode p2=s;
        for(int i=0;i<n+1;i++){//先让p2走到n+1个位置
            p2=p2.next;
        }
        while(p2!=null){//同时移动
            p1=p1.next;
            p2=p2.next;
        }
        p1.next=p1.next.next;
        return s.next;
    }


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

相关文章:

  • 人工智能技术在网络安全领域被恶意利用
  • 相机硬触发
  • 打包IPA包上传,报错“您的可执行文件包含不受支持的体系结构(×86 _64 i386)”
  • 规范:项目、目录、文件、样式、事件、变量、方法、url参数、注释、git提交 命名规范及考证
  • Windows的MySQL开机自动启动问题
  • python 五子棋小游戏
  • Java Iterator 实现杨辉三角
  • Redis 补充概念
  • Unity 6 基础教程(Unity 界面)
  • 百度搜索引擎的工作原理
  • javaScript-----一维数组和数组对象去重的多种方法
  • 使用 MySQL Workbench 创建和管理用户
  • 手册更新 | RK3568开发板Openwrt文件系统构建
  • ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
  • Win/Linux/Kylin 系统安装指定版本 jdk(8u171为例)
  • 学习记录:js算法(八十四):子集 II
  • vue系列==vue组件
  • sparkSQL面试题
  • Go语言sync.WaitGroup与errgroup.Group用法详解
  • 迅为itop-3568开发板AMP双系统使用手册之烧写AMP镜像
  • 力扣第33题:搜索旋转排序数组
  • 聚水潭数据集成到MySQL的技术实操与解决方案
  • Vue前端开发:事件对象参数
  • Docker-安装
  • Flutter UI架构(3)
  • gulp入门教程18:gulp插件gulp-clean