# 输入一个链表,输出链表中倒数第k个节点
# 设一个快指针,一个慢指针,快指针先往前走(k-1)步。然后快慢指针分别向前一步,当快指针到达末尾时,慢指针刚好到达倒数第k个。
def find_kth_to_tail(pHead, k):
if not pHead:
return None
slow = pHead
fast = pHead
# 快指针先往前 k-1步
for i in range(1, k):
# 如果k超出了链表长度,返回None
if not fast.next:
return None
fast = fast.next
# 快指针和慢指针依次向前,直到快指针到达终点,返回慢指针所在节点
while fast.next:
fast = fast.next
slow = slow.next
return slow.val
单向链表找出倒数第k个节点,python实现
最新推荐文章于 2022-11-01 18:24:36 发布