22-链表中倒数第k个节点
题目:输入一个链表,输出该链表中倒数第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是否小于链表总长度。