链表
- 给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
- 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
解法:
- 快慢指针法是解决这类问题的最好方法
1. 设定两个指针,第一个指针一次走一步,第二个指针一次走两步,当第二个指针走到链表尾部的时候,第一个指针刚好到达链表的中间
2. 设定两个指针,第一个指针第一次走n步,第二个指针在指针首部,然后两个指针同步一次走一步,当第一个指针走到尾部的时候,第二个指针
走到刚好走到要删除元素的前驱元素,然后a.next=a.next.next就删除了倒数第n个元素。

浙公网安备 33010602011771号