快慢指针,快的先走K步(慢的停K步),让K递减,以K<=0为判断是快慢走还是只有快走。最后,快的到尾部None,慢的就到了倒数第K步。
class Solution:
    def FindKthToTail(self, pHead: ListNode, k: int) -> ListNode:
        a, b = pHead, pHead
        while a:
            if k <= 0:
                b = b.next
            a = a.next
            k = k - 1
        return b if k <= 0 else None