14 鍊錶中倒數第k個結點(劍指offer)

2021-10-13 18:35:41 字數 457 閱讀 9363

14. 鍊錶中倒數第k個結點

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

1. 思路:

我們可以定義兩個指標。第乙個指標從鍊錶的頭指標開始遍歷向前走k-1,第二個指標保持不動;從第k步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k-1,當第乙個(走在前面的)指標到達鍊錶的尾結點時,第二個指標(走在後面的)指標正好是倒數第k個結點。

效果示意圖,以鍊錶總共6個結點,求倒數第3個結點為例:

除此之外,要注意**的魯棒性。需要判斷傳入引數合法性問題。

2. **+答案:

14 劍指offer 鍊錶中倒數第k個結點

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。解題思路 方法一 定義兩個指標,乙個指標先向前移動k 1步 在移動過程中判斷是否越界 第二個指標指向頭,然後兩個指標同時向前移動,第乙個指標指向最後乙個節點的時候,第二個指標指向第k個結點 方法二 先全部遍歷一遍,找到鍊錶中結點數目,然後進行k和結...

14 鍊錶中倒數第k個結點

題目鏈結 題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。先遍歷求得鍊錶長度,再遍歷查詢。時間複雜度o n struct listnode class solution p plisthead k cnt k 1 while p p p next return p 求倒數第k個結點,設立兩個指標...

14鍊錶中倒數第K個結點

1 鍊錶中倒數第k個結點2 題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點3 思路 看到鍊錶二話不說,先寫鍊錶結點定義 4struct listnode59 10 常規思想 然後,假設整個鍊錶有n個結點,那麼倒數第k個結點,就是正數的第n k 1個結點。如果我們能夠得到鍊錶中結點的個數n,那麼只要從...