刪除鍊錶的倒數第 N 個結點

2022-09-19 21:27:14 字數 709 閱讀 6012

給你乙個鍊錶,刪除鍊錶的倒數第 n 個結點,並且返回鍊錶的頭結點。

快指標start;慢指標end;

此題目需要刪除乙個節點,並且返回新的鍊錶,使用快慢指標法,先移動快指標n個身位,(兩個指標相差n-1個節點),再將兩個指標一起移動,當快指標的next為null時,證明已經移動到鍊錶末端,並指向最後乙個節點,此時慢指標的下乙個節點就是要刪除的節點,直接將現在指向的節點end.next=end.next.next;跳過此節點以此達到刪除目的;

注:return 應該返回pre.next;並非head,當頭節點為空時,會出現問題;

/**

* definition for singly-linked list.

* public class listnode

* listnode(int val)

* listnode(int val, listnode next)

* }*/class solution

//同時移動,直到鍊錶末端

while(satrt.next!=null)

//因為快指標現在指向末端節點,中間有n-1個節點,加起來才是n個節點,所以,需要刪除的是end的下乙個節點;

end.next=end.next.next;

return pre.next;

}}

刪除鍊錶的倒數第N個結點

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點 給定乙個鍊錶 1 2 3 4 5,和 n 2 當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5 class solution listnode dummynode newlistnode 1 dummynode.next head ...

鍊錶 刪除鍊錶的倒數第 N 個結點

記錄 於leetcode 在對鍊錶進行操作時,一種常用的技巧是新增乙個啞節點 dummy node 它的next 指標指向鍊錶的頭節點。這樣一來,我們就不需要對頭節點進行特殊的判斷了。例如,在本題中,如果我們要刪除節點 y,我們需要知道節點 y 的前驅節點 x,並將 x 的指標指向 y 的後繼節點。...

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

題目 給定乙個鍊錶,刪除鍊錶中倒數第n個節點,返回鍊錶的頭節點。注意事項 鍊錶中的節點個數大於等於n 您在真實的面試中是否遇到過這個題?yes 樣例給出鍊錶1 2 3 4 5 null 和 n 2.刪除倒數第二個節點之後,這個鍊錶將變成1 2 3 5 null.思路 這道題的思路十分奇特,那就是為了...