問題描述:
給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。
注意事項:鍊錶中的節點個數大於等於n 樣例
給出鍊錶1->2->3->4->5->null
和 n = 2.
刪除倒數第二個節點之後,這個鍊錶將變成1->2->3->5->null.
解題思路:
首先排除一些特殊情況,還需注意刪除第乙個節點的情況,用兩個指標,第乙個走到第n個節點時,第二個與第乙個同時開始走,兩個相差n步,當第乙個走到最後乙個節點是,第二個走到倒數n+1個,然後覆蓋。
程式**:
definition of listnode
class listnode
}class solution
if (p1 == null)
listnode* p2 = head;
while (p1->next != null)
p2->next=p2->next->next;
return head;
// write your code here}};
感想:
這種方法需要注意,沒有想到。
刪除鍊錶中倒數第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 時間複雜度 如果先遍歷鍊錶,得出鍊錶結點個數,然後再第二次遍歷找出倒數第...