05_删除链表的倒数第N个节点
删除链表的倒数第N个节点
给你一个链表,删除链表的倒数第 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]
提示:
- 链表中结点的数目为 
sz 1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz
进阶:你能尝试使用一趟扫描实现吗?
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        // 创建一个虚拟节点
        ListNode pre = new ListNode(-1, head);
        int length = 0;  // 统计链表的长度
        ListNode p = head;
        ListNode q = head;  //待返回的头结点
        while (p != null) {
            length++;
            p = p.next;
        }
        // 当前删除的节点就是head
        if (n == length) {
            pre.next = head.next;
            q = pre.next;
             return q;
        }
        p = head;
        for (int i = 1; i < length - n; i++) {
            p = p.next;
        }
        p.next = p.next.next;
        return head;
    }
}
												
											05_删除链表的倒数第N个节点的更多相关文章
- lintcode:Remove Nth Node From End of Lis 删除链表中倒数第n个节点
		
题目: 删除链表中倒数第n个节点 给定一个链表,删除链表中倒数第n个节点,返回链表的头节点. 样例 给出链表1->2->3->4->5->null和 n = 2. 删除 ...
 - 删除链表中倒数第n个节点
		
给定一个链表,删除链表中倒数第n个节点,返回链表的头节点. 样例 给出链表1->2->3->4->5->null和 n = 2. 删除倒数第二个节点之后,这个链表将变成1 ...
 - [LeetCode] 19. 删除链表的倒数第N个节点
		
题目链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 题目描述: 给定一个链表,删除链表的倒数第 n 个节点, ...
 - [Swift]LeetCode19. 删除链表的倒数第N个节点 | Remove Nth Node From End of List
		
Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...
 - 22、删除链表的倒数第N个节点
		
22.删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删 ...
 - 删除链表的倒数第N个节点(java实现)
		
题目: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链 ...
 - 0011 删除链表的倒数第N个节点
		
给 定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
 - 删除链表的倒数第N个节点
		
题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后 ...
 - 【LeetCode题解】19_删除链表的倒数第N个节点(Remove-Nth-Node-From-End-of-List)
		
目录 描述 解法:双指针 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以访问我的 github. 描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回 ...
 - LeetCode(19):删除链表的倒数第N个节点
		
Medium! 题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了 ...
 
随机推荐
- MySQL搭建主从集群详细步骤~
			
一. Docker安装MySQL搭建主从 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] docker run -p 3306:3306 很多 -d --n ...
 - Aop限流实现解决方案
			
01.限流 在业务场景中,为了限制某些业务的并发,造成接口的压力,需要增加限流功能. 02.限流的成熟解决方案 guava (漏斗算法 + 令牌算法) (单机限流) redis + lua + ip ...
 - ROW_NUMBER 开窗函数优化方案(Oracle && PostgreSQL 性能比对)
			
帮朋友优化一条很简单的窗口函数 ROW_NUMBER() OVER() , Oracle 迁移 PostgreSQL项目. 原始SQL和执行计划 STUDENT_BAK 表我模拟的数据,3千万行数据. ...
 - FOJ有奖月赛-2015年11月 Problem B 函数求解
			
Problem B 函数求解 Accept: 171 Submit: 540Time Limit: 1000 mSec Memory Limit : 32768 KB Problem D ...
 - 【内核】ELF 文件执行流程
			
# ELF 文件分类 Linux中,ELF文件全称为:Executable and Linkable Format,主要有三种形式,分别是: 可执行文件 动态库文件(共享文件 .so) 目标文件(可重 ...
 - CentOS7 安装MySQL 8.0.28+
			
MySQL的三大版本 a)MySQL Enterprise Edition:企业版本(付费)b)MySQL Cluster CGE:高级集群版(收费)c)MySQL Community Server: ...
 - export详解
			
linux下export命令详解 export:将自定义变量设定为系统环境变量(当前shell中有效) 功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] ...
 - springboot整合hibernate(非JPA)(一)
			
springboot整合hibernate(非JPA)(一) springboot整合hibernate,非jpa,若是jpa就简单了,但是公司项目只有hibernate,并要求支持多数据库,因此记录 ...
 - 40. 干货系列从零用Rust编写负载均衡及代理,websocket的实现
			
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...
 - C++标准库中copy算法的使用
			
目录 std::copy是C++标准库中的算法接口,主要用于两个容器间的复制,据说其效率要优于自己用for循环逐个复制.之前一直非常混淆其中的用法,这里总结了几个例子如下: #include < ...