15 求煉表中倒數第 K 個節點

2021-10-11 22:38:13 字數 448 閱讀 6105

題目描述:輸入乙個鍊錶,輸出該鍊錶中倒數第 k 個結點。

思路:定義一快一慢兩個指標,快指標走 k 步,然後慢指標開始走,快指標到尾

時,慢指標就找到了倒數第 k 個節點。

**實現:時間複雜度:o(n),空間複雜度:o(1)

public listnode findkthtotail(listnode head, int k) 

listnode fast = head;

listnode slow = head;

while (k-- > 1)

fast = fast.next;

} while (fast.next != null)

return slow;

}

15 鍊錶中倒數第K個節點

面試題15 鍊錶中倒數第k個節點 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。public class 15 linked k 思路一 倒數第k個節點的值即為正數第n k 1個節點,但是鍊錶長度n未知,求n需再遍歷一次鍊錶。思路二 設定兩個指標,第乙個指標從鍊錶第k 1個位置開始遍歷,第二個指標從第0...

求煉表中倒數第K個節點

求煉表中倒數第k個節點,思路很簡單我們在遍歷時維持兩個指標,第乙個指標從鍊錶的頭指標開始遍歷,在第k 1步之前,第二個指標保持不動 在第k 1步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二個指標 走在後面的 指標正好...

求鍊錶倒數第k個節點

1.初解 public static node findkthtotail node head,uint k behind head while ahead.next null return behind 上面的 存在3處魯棒性問題 1 輸入的head為空指標。由於 會試圖訪問空指標指向的記憶體,程...