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

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

时间:2023-06-30 11:45:42浏览次数:39  
标签:head 19 结点 next 链表 int length 倒数第

链表问题,需要注意一下是倒着数还是正着数,和头结点会不会被删除即可

    public ListNode removeNthFromEnd(ListNode head, int n) {
        if (head == null) {
            return null;
        }
        // 头结点会被删除吗?
        int length = 0;
        ListNode p = head;
        while (p != null) {
            p = p.next;
            length ++;
        }
        if (n == length) {
            return head.next;
        }
        int index = 1;
        p = head;
        // 让p停在 j - 1 位置上
        // 倒数变正数
        int j = length - n + 1;
        while (index < j - 1) {
            p = p.next;
            index++;
        }
        p.next = p.next.next;
        return head;
    }

标签:head,19,结点,next,链表,int,length,倒数第
From: https://www.cnblogs.com/jrjewljs/p/17516221.html

相关文章

  • 619. 只出现一次的最大数字
    619.只出现一次的最大数字SQL架构MyNumbers表:+-------------+------+|ColumnName|Type|+-------------+------+|num|int|+-------------+------+这张表没有主键。可能包含重复数字。这张表的每一行都含有一个整数。 单一数字是在MyNumbers......
  • 【leetcode】【83】【删除排序链表中的重复元素】
    c++第一个方法代码#include<algorithm>#include<iostream>#include<memory>#include<vector>//Definitionforsingly-linkedlist.structListNode{intval;ListNode*next;ListNode():val(0),next(nullptr){}......
  • 数据结构与算法 - 链表
    双链表的的基本结构从STL源码抽出的基本双链表结构代码#ifndef_GRAVER_GLIB_LIST_H_#define_GRAVER_GLIB_LIST_H_#include<cstddef>#include"graver/util/log_util.h"namespacegraver{//内部结构与方法放在detailnamespacedetail{/***@brief链表结......
  • 带头结点单链表插入,删除,查找与排序实现一个简单的基于链表结构的学生管理系统
    链表结构和操作方法////CreatedbyAdministratoron2023/6/12.//#ifndefCODE_LINKEDLIST_H#defineCODE_LINKEDLIST_H#include<iostream>#include<cstring>#include<stdlib.h>#include"student.h"typedefstructlink_list{//......
  • 江西服务器出租,游戏服务器配置该如何选择?103.219.28.X
    江西服务器的稳定性和安全性虽说没有宁波和杭州的那么好,但是机器的应用领域也是不同的,目前江西有3大数据中心,江西南昌电信机房、新余数据中心和吉安电信机房。江西南昌机房经过数年的发展与扩容,截止2011年12月出口带宽总量已达200G,托管设备3000多台。新余数据中心有骨干光缆直连Chi......
  • JavaScript 链表的增删改查
       //节点对象classNode{constructor(data){this.data=data;//存储节点数据this.next=null;//存储下一个节点的引用,默认为null}}//链表对象classLinkedList{constructor(){this.head=null;//链表头节点,默认为null}......
  • C#C++联合debug-vs2019
    转自:https://blog.csdn.net/qq_41375318/article/details/127717701vs2019中C#和c++的dll进行联合调试*Major*已于2022-11-0617:29:51修改462收藏2文章标签:c#版权vs2019中C#和c++的dll进行联合调试一C++这边属性的输出目录设置为C#的Debug目录二调试设为C#的exe路径......
  • 143. 重排链表
    给定一个单链表L的头节点head,单链表L表示为:L0→L1→…→Ln-1→Ln请将其重新排列后变为:L0→Ln→L1→Ln-1→L2→Ln-2→…不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例1:输入:head=[1,2,3,4]输出:[1,4,2,3]>代码1(前......
  • 抢疯了!国产工业评估板仅售198元!限量200台!
    198元限时优惠!限量200台!抢完即止!如需选购,欢迎登录创龙科技天猫旗舰店  ......
  • curl -I 192.168.74.128 拒绝连接
     查看直接的linuxweb服务器信息 curlwww.baidu.com都是正常的,唯独curl本机的ip地址就一直报错 由于使用的yum安装的nginx,nginx的一些模块依赖一些lib库,所以在安装nginx,也必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel所以执......