19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
进阶:你能尝试使用一趟扫描实现吗?
 
示例 1:
输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]
解析
快慢指针解决
class Solution123 {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode delNode = head;
        ListNode retNode = head;
        while (head.next != null) {
            if(n <= 0) delNode = delNode.next;
            head = head.next;
            n--;
        }
        if(n == 1) return retNode.next;
        delNode.next = delNode.next.next;
        return retNode;
    }
}
注意:本文归作者所有,未经作者允许,不得转载