首页 > 其他分享 >19. 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点

时间:2023-11-20 20:26:31浏览次数:34  
标签:head ListNode val 19 next 链表 int 倒数第

2023-11-20

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

思路:

        1 先遍历一遍,计算链表长度,再遍历一遍,完成

        2 双指针:先后指针,先走n步,再一起走

        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 removeNthFromEnd(ListNode head, int n) {
        //注意此链表是没有长度字段的
 
        //遍历1遍   加头节点   快慢指针,快先走n步,然后一起走
 
        ListNode l=new ListNode();
        l.next=head;
 
        ListNode slow=l;
        ListNode fast=l;
 
        for(int i=0;i<n;i++ ){
            fast=fast.next;
        }
 
        while(fast.next!=null){
            slow=slow.next;
            fast=fast.next;
        }
 
        slow.next=slow.next.next;
 
        return l.next;
 
 
 
    }
}

先遍历一遍:

/**
 * 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 now=head;
        int count=0;
 
        while(now!=null){
            now=now.next;
            count++;
        }
 
        now=head;
        int x=count-n;
        for(int i=0;i<x-1;i++){
            now=now.next;
        }
 
        //删除第一个元素的情况     count==n是为了区分删除的是第二个元素的情况
       if(now==head && count==n){
           ListNode l=new ListNode();
           l.next=head;
           l.next=l.next.next;
           return l.next;
       }
 
        now.next=now.next.next;
 
        return head;
 
 
 
    }
}

栈:栈的代码简单就不写了。。。

标签:head,ListNode,val,19,next,链表,int,倒数第
From: https://www.cnblogs.com/youye9527/p/17844742.html

相关文章

  • 20231119 mac 使用dd 命令 烧写 linux img到sd卡
    https://docs.radxa.com/rock5/official-images?model=ROCK+5B下载rock5b官方操作系统文件是一个.img.xz文件打开一个mac终端,ls/dev关注/dev/disk相关的,插入SD卡读卡器到macmini,再次ls/dev 把sd卡格式化sudoddif=/dev/zeroof=/dev/disk4bs=64Mcoun......
  • 配置上新 | 单双四核任选,TI Cortex-A53工业核心板仅198元起!
    创龙科技作为TI官方合作伙伴,在2022年9月即推出搭载TIAM62x最新明星处理器的工业核心板-SOM-TL62x。 SOM-TL62x工业核心板基于TISitara系列AM62x单/双/四核ARMCortex-A53+单核ARMCortex-M4F异构多核处理器设计,主频高达1.4GHz,支持2路TSN千兆网、3路CAN-FD、双屏异显、9路UAR......
  • 上周热点回顾(11.13-11.19)
    热点随笔:· 30岁之前透支,30岁之后还债。 (程序员济癫)· .NET8正式发布 (张善友)· 阿里云崩了,总结我们从云上搬到线下经历了什么 (iNeuOS工业互联网系统)· 最后的一次努力:尝试解决百度收录与排名问题 (博客园团队)· .NET8.0AOT经验分享FreeSql/FreeRedis/FreeSch......
  • 每日总结-23.11.19
    importjava.util.Stack;publicabstractclassAbstractCommand{publicabstractintexecute(intvalue);publicabstractintundo();publicabstractintredo();}publicclassAddCommandextendsAbstractCommand{privateAdderadder=newA......
  • 面试必刷TOP101:30、 二叉搜索树与双向链表
    题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。如下图所示题解方法一:非递归版解题思路:1.核心是中序遍历的非递归算法。2.修改当前遍历节点与前一遍历节点的指针指向。importjava.util.Stack;publicTreeNodeConvertBSTToBiList(TreeNoderoot){......
  • 11.19(函数)
    函数是什么?1.函数就是一个大型程序中某部分代码,由一个或多个模块组成。相较于其他代码,有一定的独立性。2.一般函数都有独立信函数的分类:a:函数库:C语言本身提供的函数b:自定义函数:体现的解决问题的能力函数的调用:传值调用  传址调用#include<stdio.h>#include<math.h>intis_p......
  • 219-nginx 配置https,证书配置
    server{#SSL默认访问端口号为443listen443ssl;#请填写绑定证书的域名server_nameqzkuma.cn;#请填写证书文件的相对路径或绝对路径ssl_certificate/home/ssl/qzkuma.cn_bundle.crt;#请填写私钥文件的相对路径或绝对路径s......
  • 2023.11.19 NOIP 总结
    考试复盘进场读了下题,T1很简单,并且后面三道题都挺可做的。因为可以任意交换,直接令当前串字典序最小,其它串字典序最大,然后比较一下就完事了。因为字符集大小只有\(26\),直接开桶模拟就可以了。发现不是很好写,想了一下其实只需要判断一下当前串字典序最小的字母的字典序是否大于其......
  • 2023-2024-1 20231319《计算机基础与程序设计》第8周学习总结
    2023-2024-120231319《计算机基础与程序设计》第8周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里作业要求这个作业的目标计算机科学概论第9章《C语言程序设计》第7章学习目标功能设计与面向对象设计面向对......
  • (链表)18-随机链表的复制
    1/*2classNode{3intval;4Nodenext;5Noderandom;67publicNode(intval){8this.val=val;9this.next=null;10this.random=null;11}12}13*/1415classSolution{16public......