题目:如果给定一个链表,请问如何删除链表中的倒数第k个节 点?假设链表中节点的总数为n,那么1≤k≤n。要求只能遍历链表 一次。例如,输入图4.1(a)中的链表,删除倒数第2个节点之后的链表如图4.1(b)所示。
题目分析
因为只能遍历链表一次,所以采用双指针法,先让指针p1前移k步,然后再移动指针p2,此时p1和p2同时移动,等p1移动到链表尾部时,p2刚好移动到第倒数k + 1个节点此时只需要把倒数第k + 1个节点的next指向他的next.next
(倒数第k - 1个节点)上就删除掉了倒数第k个节点。
具体实现
public ListNode removeNthFromEnd(ListNo