刪除鍊錶中倒數第n個節點

2021-07-14 17:28:34 字數 703 閱讀 9260

給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。

注意事項

鍊錶中的節點個數大於等於n

樣例

給出鍊錶1->2->3->4->5->null和 n = 2.

刪除倒數第二個節點之後,這個鍊錶將變成1->2->3->5->null.

定義兩個指標,slow、fast

fast先先前走n步後、slow和fast一起走,直到fast到最後乙個結點

當fast為空,說明fast在最後乙個結點後面了,說明需要刪除的是第乙個結點,直接刪除

為了方便刪除第乙個結點,加入頭結點

下面slow.next指向的是需要刪除的結點,直接刪除

/**

* definition for listnode.

* public class listnode

* }*/public

class

solution

if(fast==null) // 說明刪除的是第乙個非頭結點

return head.next.next;

while(fast.next!=null)

slow.next = slow.next.next; // slow.next指向刪除結點

return head.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.挑戰 o n 時間複雜度 如果先遍歷鍊錶,得出鍊錶結點個數,然後再第二次遍歷找出倒數第...

刪除鍊錶中倒數第n個節點

1 問題描述 給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。給出鍊錶 1 2 3 4 5 null 和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成 1 2 3 5 null.2 實現思路 先計算鍊錶的長度,用for迴圈找到要刪的節點,要考慮鍊錶長度 3 definition of l...