拿到題目, 首先要先瞭解鏈表數據結構, 如下圖: 常規思路: 利用數組, 遍歷整個單鏈表, 將每個節點裝入數組中, 最終拿到數組根據索引(數組長度-1-n)就得到了倒數第n個元素. 簡單思路: 假設總長度為n, 倒數第k個對應正數第n-k-1, 那麼第一個指針移動k-1次, 第二個指針保持在head ...
拿到題目, 首先要先瞭解鏈表數據結構, 如下圖:
常規思路: 利用數組, 遍歷整個單鏈表, 將每個節點裝入數組中, 最終拿到數組根據索引(數組長度-1-n)就得到了倒數第n個元素.
簡單思路:
定義兩個指針p1,p2;
假設總長度為n,
倒數第k個對應正數第n-k-1,
那麼第一個指針移動k-1次, 第二個指針保持在head不動;
第一個指針移動到尾部, 共移動n-k-1次, 那麼第二個指針同步移動同樣次數, 剛好指向第k個節點.
圖解演算: