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

Posted 小刘你最强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19.删除链表的倒数第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]

class Solution 
    public ListNode removeNthFromEnd(ListNode head, int n) 
        ListNode dummy = new ListNode(-1, head);
        ListNode fast = dummy;
        ListNode slow = dummy;
        while(n-- > 0) 
            fast = fast.next;
        
        fast = fast.next;
        while(fast != null) 
            fast = fast.next;
            slow = slow.next;
        
        slow.next = slow.next.next;
        return dummy.next;
    

以上是关于19.删除链表的倒数第N个节点的主要内容,如果未能解决你的问题,请参考以下文章

Lc19_删除链表的倒数第N个节点

Leetcode 19 删除链表的倒数第 N 个节点

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

LeetCode(19):删除链表的倒数第N个节点

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

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