Python剑指offer 链表的倒数第k个节点

    技术2025-07-17  12

    链表的倒数第k个节点

    题目描述

    输入一个链表,输出该链表中倒数第k个结点。时间限制:Python 2秒 空间限制:Python 64M

    解题思路

    + 先做一个长度为 k 的尺子。给两个游标,初始时让它们都指向头节点,然后让前面那个游标先走 k 步,那么现在前面节点和后面节点的差值就是 k ,也就是说两个游标的差距是 k ,长度为 k 的尺子就做好了,下面再同时让两个游标一起走,当前面那个游标走到尾时,后面那个游标刚好就是倒数第 k 个节点了,这时输出这个值即可。

    # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def FindKthToTail(self, head, k): # write code here left = head right = head if not left: return None for i in range(k): if left == None: return None left = left.next while left != None: left = left.next right = right.next return right
    Processed: 0.049, SQL: 9