+ 先做一个长度为 k 的尺子。给两个游标,初始时让它们都指向头节点,然后让前面那个游标先走 k 步,那么现在前面节点和后面节点的差值就是 k ,也就是说两个游标的差距是 k ,长度为 k 的尺子就做好了,下面再同时让两个游标一起走,当前面那个游标走到尾时,后面那个游标刚好就是倒数第 k 个节点了,这时输出这个值即可。
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def FindKthToTail(self, head, k): # write code here left = head right = head if not left: return None for i in range(k): if left == None: return None left = left.next while left != None: left = left.next right = right.next return right