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

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

原题

java 复制代码
/**
 * 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 slow = head;
        ListNode fast = head;
        //使得fast和slow之间相隔n-1个节点(fast比slow先走n步)
        for(int i=0;i<n;i++){
            fast=fast.next;
        }
        //说明删除的是头结点
        if(fast==null){
            return head.next;
        }
        //依次向后移动
        while(fast.next!=null){
            slow=slow.next;
            fast=fast.next;
        }
        //将slow指向下一个节点的后继结点(不能写slow.next=fast,举例[1,2])
        slow.next=slow.next.next;
        //返回结果
        return head;
    }
}
相关推荐
ysu_031414 分钟前
13-图的基础:存储与表示
数据结构·
青山木1 小时前
Hot 100 --- 划分字母区间
java·数据结构·算法·leetcode·贪心算法
橘子汽水1682 小时前
Leetcode 208,207实现Trie前缀树,课程表
java·数据结构·算法·leetcode
wabs6662 小时前
关于二叉树【力扣116.填充每个节点的下一个右侧节点指针的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历
船厂电气自动化ai大模型2 小时前
AI大模型与数学 第73课 秩的核心定义、矩阵秩的通用求解方法
开发语言·数据结构·机器学习
动词ing2 小时前
【学习笔记】数据结构(哈希表基础+哈希集合+哈希映射+计数+查找)
数据结构·学习·哈希算法
不会就选b12 小时前
算法日常・每日刷题--<贪心>7
数据结构·算法·leetcode
爱吃苹果的日记本14 小时前
数据结构第一课
c语言·数据结构·数据库·学习·c#
张小姐的猫15 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python