题目
实现一种算法,找出单向链表中倒数第k个节点。返回该节点的值。
思路
双指针。
快指针先走k步,然后快慢指针一起走,当快指针走到链表末端,慢指针所指向的位置就是倒数第k个节点。
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution:def kthToLast(self, head: ListNode, k: int) -> int:if head is None: returnslow, fast = head, headfor _ in range(k):fast = fast.nextwhile fast is not None:slow = slow.nextfast = fast.nextreturn slow.val
