https://leetcode.cn/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/
给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第 cnt 个训练项目编号。
示例 1:
输入:head = [2,4,7,8], cnt = 1
输出:8
class Solution:
def trainingPlan(self, head: Optional[ListNode], cnt: int) -> Optional[ListNode]:
# 双指针、迭代
# 由于该题结论不是返回整个链表,也就不需要设置虚拟头节点
slow, fast = head, head # 双指针同时指向头节点
# 快指针先走k步
while cnt:
fast = fast.next
cnt -= 1
# 快慢指针同时走,走到快指针为NULL
while fast:
fast = fast.next
slow = slow.next
return slow # 此时慢指针指向倒数第cnt个节点