剑指offer:链表中倒数第k个节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer:链表中倒数第k个节点相关的知识,希望对你有一定的参考价值。
题目描述输入一个链表,输出该链表中倒数第k个结点。
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def FindKthToTail(self, head, k):
# 由于k是从1开始的,因此需要特殊处理空链表和k<1的情况
if not head or k < 1:
return None
fast = head # 快指针先走k-1步
for _ in range(k - 1):
# 注意需要判断整个链表是否含有k个节点
if fast.next:
fast = fast.next
else:
return None
# 当快指针走到尾节点的时候,慢指针就走到了倒数第k个节点
while fast.next:
fast = fast.next
head = head.next
return head
以上是关于剑指offer:链表中倒数第k个节点的主要内容,如果未能解决你的问题,请参考以下文章