leetcode-19-删除链表的倒数第N个结点
题解:
使用快慢指针解题。初始化两个指针,两个指针间隔n个结点。当快指针走到链表结尾时,慢指针
走到倒数第n+1个节点。此时将慢指针节点的next指向倒数第n-1个节点。
1、初始化哑节点dummy=ListNode(0,head);
2、快指针q和慢指针p都指向哑节点dummy;
3、使快指针q先向前走n+1步;使用while()循环实现;
4、当n=0时,快指针q与慢指针p同时向前移动;直到快指针q先遍历完链表即q==Null时,慢指针p走到倒数第n+1的节点。此时将慢指针指向链表倒数第n-1个节点即可,通过p.next=p.next.next实现。
5、返回dummy.next即可。