鍊錶中倒數第k個節點

2021-08-28 11:22:19 字數 685 閱讀 2103

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。

ac**:

class solution:

def findkthtotail(self, head, k):

# write code here

#將每個節點存在棧裡,選取stack中第k個值

stack =

while head:

head = head.next

if k > len(stack) or k <= 0 : return none

for i in range(0, k):

x = stack.pop()

return x

在討論版中看到了一種使用雙指標解題的思路,感覺非常贊,使用python實現如下:

class solution:

def findkthtotail(self, head, k):

# write code here

#p = q = head

i = 0

while p:

if i >= k:

q = q.next

p = p.next

i += 1

if i < k :

return none

return q

鍊錶中倒數第k個節點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。struct listnode方法 定義兩個指標。第乙個指標從鍊錶的頭指標開始遍歷向前走k 1,第二個指標保持不動 從第k步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二...

鍊錶中倒數第k個節點

acwing打卡活動 劍指offer 打卡活動 周二第十題 鍊錶中倒數第k個節點 definition for singly linked list.public class listnode 思路 設列表總結點數為n,則n k 1 為該列表的倒數第k個節點 如 n 10,k 2,則 10 2 1 ...

鍊錶中倒數第K個節點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。方法一 先算出節點個數count,然後遍歷到count k,便是倒數第k個。class solution int length count k if k count return 0 for int i 0 inext return data 方法二 快慢指...