链表中倒数第K个结点

###题目

输入一个链表,输出该链表中倒数第k个结点。

###解题思路

快慢指针,快指针先走K。

###代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def FindKthToTail(self, head, k):
# 快慢指针,快指针先走
if k == 0 or head is None:
return None
fast = head
slow = head
for i in range(0, k-1):
fast = fast.next
if fast is None:
return None
while fast.next is not None:
fast = fast.next
slow = slow.next
return slow