一個 Python 程式用於找出單鏈表中第 K 個倒數節點
假設我們有一個單鏈表,我們需要檢查找出第 K 個倒數節點(0 為起始索引)的值。我們必須單次遍歷解決這個問題。
所以,如果輸入如下 node = [5,4,6,3,4,7], k = 2,那麼輸出將是 3,因為第二個倒數(索引 3)節點的值為 3。
為了解決這個問題,我們將遵循以下步驟 −
klast := node
last := node
for i 從 0 到 k,操作
last := last 的 next
while last 的 next 不為空,操作
last := last 的 next
klast := klast 的 next
return klast 的值
我們看看下面的實現以獲得更好的理解 −
範例
class ListNode: def __init__(self, data, next = None): self.val = data self.next = next def make_list(elements): head = ListNode(elements[0]) for element in elements[1:]: ptr = head while ptr.next: ptr = ptr.next ptr.next = ListNode(element) return head class Solution: def solve(self, node, k): klast = node last = node for i in range(k): last = last.next while last.next: last = last.next klast = klast.next return klast.val ob = Solution() l1 = make_list([5,4,6,3,4,7]) print(ob.solve(l1, 2))
輸入
[5,4,6,3,4,7], 2
輸出
3
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP