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

2021-07-29 17:11:44 字數 583 閱讀 9052

1.問題描述:給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。

2.思路:首先要定義乙個頭指標並且要在頭指標的前面加乙個dummy,用來儲存頭指標,並且一定要把dummy賦值給head。這樣如果刪除的是第乙個元素,還有儲存頭節點的dummy可以返回刪除頭節點後的鍊錶。另外再定義length來計算鍊錶中節點數,再從頭節點開始遍歷鍊錶一直到要刪除節點的前乙個節點,再把該節點的next指向它的next的next,這樣就把要刪除節點刪除了,最後用dummy->next返回頭節點即可返回刪除指定節點後的鍊錶。

3.**:

/**

* definition of listnode

* class listnode

* }*/class solution

for(int i=1;inext;

}head->next=head->next->next;

return dummy->next;

}};

4.感想:這個程式比前幾個鍊錶的程式要複雜得多,並且當給定的樣例調通的時候,發現1->null並不能調通!加上head=dummy就正確了!

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