快慢指针
快指针先移到慢指针的前k个节点,然后快慢指针同时移动,当快指针到达链尾,慢指针即为倒数第k个节点。
# def __init__(self, x):
# self.val = x
# self.next = None
#
# @param pHead ListNode类
# @param k int整型
# @return ListNode类
#
class Solution:
def FindKthToTail(self , pHead: ListNode, k: int) -> ListNode:
# write code here
low,fast = pHead,pHead
# 快指针先前移k个节点
for i in range(k):
if fast == None: return None
fast = fast.next
# 快慢指针同时移动,快指针到达末尾,慢指针即为倒数k个节点
while fast:
low = low.next
fast = fast.next
return low