此题是力扣原题: LCR 021. 删除链表的倒数第 N 个结点
方法一:两趟遍历
要删除 倒数 第 n 个结点,首先我们可以通过一次遍历计算出链表的节点个数 count ,那么删除 倒数 第 n 个结点也就是删除 正数 第 count - n + 1 个结点。再通过一次遍历删除该结点即可。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public