題目
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。
示例:
給定乙個鍊錶: 1->2->3->4->5, 和 n = 2說明:給定的 n 保證是有效的。.當刪除了倒數第二個節點後,鍊錶變為
1->2->3->5.
高階:你能嘗試使用一趟掃瞄實現嗎?
思想使用兩個指標,第乙個指標從列表的開頭向前移動n + 1 個節點, 而第二個指標從列表的開頭出發
現在,這兩個指標被 n 個節點分開.
同時移動兩個指標來保持這個間隔,每次向前移動乙個,直到第乙個指標到達最後乙個節點的下個節點指向null或者nil, 此時第二個指標將指向從最後乙個節點起的第 n 個節點
然後第二個指標的next指向next->next節點即可
刪除鍊錶中倒數第n個節點
刪除鍊錶中倒數第n個節點 給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。樣例 給出鍊錶1 2 3 4 5 null 和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.definition for listnode.public class listnode pu...
刪除鍊錶中倒數第n個節點
給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。注意事項 鍊錶中的節點個數大於等於n 樣例 給出鍊錶1 2 3 4 5 null和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.定義兩個指標,slow fast fast先先前走n步後 slow和fast一起走,直...
刪除鍊錶中倒數第n個節點
給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。注意事項 鍊錶中的節點個數大於等於n 樣例 給出鍊錶1 2 3 4 5 null和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.挑戰 o n 時間複雜度 如果先遍歷鍊錶,得出鍊錶結點個數,然後再第二次遍歷找出倒數第...