码迷,mamicode.com
首页 > 其他好文 > 详细

22-链表中倒数第k个节点

时间:2019-08-14 20:13:42      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:数据   pytho   tail   ret   return   turn   节点   not   输出   

题目:输入一个链表,输出该链表中倒数第k个节点。

def find_Kth_tail(head,k):
    if not head or k<1:
        return None
    
    p = head
    q = head
    cnt = 0
    while p:
        cnt+=1
        p=p.next
    if k>cnt:
        return None
    p = head
    for i in range(k):
        p = p.next

    while p:
        p = p.next
        q = q.next

    return q.data

注:

使用两个指针,一个指针先走k步,然后两个指针同时走,当前一个指针到达链表尾部的时候,后一个指针指向的就是倒数第k个节点。本题要注意输入数据的判读,头节点是否为空,k是否大于0以及k是否小于链表总长度。

22-链表中倒数第k个节点

标签:数据   pytho   tail   ret   return   turn   节点   not   输出   

原文地址:https://www.cnblogs.com/kingshine007/p/11354271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!