【题目描述】
输入一个链表,输出该链表中倒数第k个结点。
【解题思路】
对于长度为n的链表,倒数第k个节点就是正数第n-k个节点。
所以此题可以设置两个指针front和behind。
先让front指针走到第k个节点,然后front和behind同时走,当front走完的时候,behind就走到了第n-k个节点,也就是倒数第k个节点,用Python实现的代码如下:
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def FindKthToTail(self, head, k):
# write code here
front = head
behind = head
for i in range(k):
if front == None:
return None
front = front.next
while front!=None:
front = front.next
behind = behind.next
return behind