题目描述
输入一个链表,输出该链表中倒数第k个结点。
思路
用快慢指针,快指针比慢指针快k步,到尾结点了慢指针就是倒数第k个结点。
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
def FindKthToTail(head, k):
# write code here
if not head: return None
fast_p = head
slow_p = head
for _ in range(k):
if fast_p:
fast_p = fast_p.next
else:
return None
while fast_p:
fast_p = fast_p.next
slow_p = slow_p.next
return slow_p