题目描述
输入一个链表,输出该链表中倒数第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):
if head is None or k <= 0:
return None
p1 = head
p2 = head
for i in range(k-1):
if p1.next == None:
return None
p1 = p1.next
while p1.next != None:
p1 = p1.next
p2 = p2.next
return p2