給定乙個鍊錶,刪除鍊錶中倒數第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...