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