常見鏈表操作-刪除鏈表倒數第n個節點(JAVA實現)

問題 給出一個單向鏈表,刪除該鏈表倒數第n個節點,並返回頭節點。 例如: 給出鏈表 1->2->3->4->5,n=2 返回鏈表 1->2->3->5 解題思路 最容易想到的算法: 先遍歷一次鏈表,記下鏈表的長度,然後計算倒數第n個節點的下標m,然後再遍歷一次鏈表,移除第m個節點。 這種算法的時間複雜度是O(n^2 )。 有沒有時間複雜度更低的算法呢?答案給是有。 優化後的算法: 定義兩個指針p和
相關文章
相關標籤/搜索