实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2
输出: 4
说明:
给定的 k 保证是有效的。
Python实现
思路很直接,这里加了dummy trick节点,防止fast指针遍历超出链表。
class Solution:
def kthToLast(self, head: ListNode, k: int) -> int:
dummy = ListNode(-1)
dummy.next = head
slow = dummy
fast = dummy
for i in range(k):
fast = fast.next
while fast.next:
slow = slow.next
fast = fast.next
return slow.next.val