Leetcode 面試題 02.02.返回倒數第 k 個節點
1 題目描述(Leetcode題目鏈接)
實現一種算法,找出單向鏈表中倒數第 k 個節點。返回該節點的值。
輸入: 1->2->3->4->5 和 k = 2
輸出: 4
說明:
給定的 k 保證是有效的。
2 題解
雙指針,第一個先走k步,然後兩個一起走,返回後面的指針指向的值。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def kthToLast(self, head: ListNode, k: int) -> int:
p, q = head, head
while k > 0:
p = p.next
k -= 1
while p:
p, q = p.next, q.next
return q.val