來自《劍指offer》 鍊錶中倒數第k個節點

2021-07-05 06:48:51 字數 373 閱讀 5335

定義兩個指標,第乙個指標從煉表頭節點開始遍歷向前走k-1個節點;

第乙個指標從第k處開始走,同時第二個指標從頭節點處開始走,第乙個指標到達鍊錶尾指標時,第二個指標正好在倒數第k個節點處。

#includeusing namespace std;

struct listnode

;//鍊錶中倒數第k個節點

listnode* findkthtotail(listnode* plisthead,unsigned int k )

pbehind=plisthead;

while(pahead->m_pnext!=null)

return pbehind;

}

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

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。分析 兩個指標pointresult和pointend一起指向頭結點,然後根據k,移動pointend,使pointresult和pointend的距離為k 1。然後同時移動pointresult和pointend,當pointend指向最後乙個結點時,po...

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

題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點.這種考題是比較簡單的一種,以前也碰到過類似的題目,從耗時來說,一般都是使用兩個指標,一前一後的走,中間間隔k或者k 1個步長,這個視判斷語句而定。當前乙個指標走到末端時,後乙個指標正好落在倒數第k個節點處,直接返回該節點。code public c...

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

輸入乙個鍊錶,輸出該鍊錶中倒數第k 個結點。從 1開始計數,即該鍊錶的尾節點是倒數第乙個結點。思路 一 鍊錶是單向鍊錶,只能從頭結點往後依次遍歷,倒數第k 個結點,也就是從頭結點開始的 n k 1 個結點。但是需要先遍歷一遍得到鍊錶長度,然後在找第 n k 1的k 結點。二 1 方法一需要對鍊錶進行...