链表中倒数第k个结点(python)

一,问题

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

二,分析

先举一个栗子:有这么一个链表:我们做两个指针,让他们构成一个尺子,所以一个叫尺子头,一个叫尺子尾

rulertou=head

rulerwei=head

让这个尺子的长度为k

for i in range(k):

    rulertou= rulertou.next

如果尺子长度k超过链表长度,就返回None,所以写完整就是:

for i in range(k):

    if rulertou==None:

        return None

    rulertou= rulertou.next

尺子做好了,现在就是要量了,我们让尺子一步步往后移,直到尺子头顶到None上

此时尺子尾指向的元素就是我们要找的

while rulertou!=None:

    rulertou=rulertou.next

    rulerwei=rulerwei.next

 

 

最后,return rulerwei

三,代码

原文地址:https://www.cnblogs.com/buyaodong/p/13183784.html