Leetcode 面試題 02.02.返回倒數第 k 個節點

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章