描述
输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。
如果该链表长度小于k,请返回一个长度为 0 的链表。
- A: 设置两个指针指向头节点,第一个指针向前走k-1步,走到第k个结点,此时,第二个指针和第一个指针同时移动,当第一个指针到尾节点的时候,第二个指针指向倒数第k个结点,注意链表为空,k为0,k大于链表的长度的情况.
class Solution:
def FindKthToTail(self, head, k):
if head is None or k <= 0: # 记得考虑k<=0时情况不成立
return None
a = head
for i in range(k - 1):
if a.next is not None:
a = a.next
else:
return None
b = head
while a.next is not None:
a = a.next
b = b.next
return b
京公网安备 11010502036488号