删除链表的倒数第 N 个结点⚓︎
描述⚓︎
详见中文题目链接。
解答⚓︎
最后那个p
从虚拟头结点开始,为什么跳1
步是到第二个点呢?不应该是到第一个点吗?
因为把虚拟头结点算作第一个点了,总数n
里包含了虚拟头结点。而虚拟头结点在链表头部所以不影响倒数第k
个数。倒数第k
个数是正数第n + 1 - k
个数,那么倒数第k + 1
就是正数n - k
个数,第一个数跳到第二个数需要1
步,那么第一个数跳到第n - k
个数,一共需要n-k-1
步。
详见中文题目链接。
最后那个p
从虚拟头结点开始,为什么跳1
步是到第二个点呢?不应该是到第一个点吗?
因为把虚拟头结点算作第一个点了,总数n
里包含了虚拟头结点。而虚拟头结点在链表头部所以不影响倒数第k
个数。倒数第k
个数是正数第n + 1 - k
个数,那么倒数第k + 1
就是正数n - k
个数,第一个数跳到第二个数需要1
步,那么第一个数跳到第n - k
个数,一共需要n-k-1
步。