Leetcode之刪除鍊錶的倒數第N個節點

2021-10-09 15:27:34 字數 806 閱讀 7686

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

示例:

給定乙個鍊錶: 1->2->3->4->5, 和 n = 2.

當刪除了倒數第二個節點後,鍊錶變為 1->2->3->5.

說明:

給定的 n 保證是有效的。

高階:

你能嘗試使用一趟掃瞄實現嗎?

雙指標,當遍歷指標前進n個時,後面乙個指標指向頭部,這樣保證了當遍歷指標到達尾部時,後面乙個指標在倒數第n個上,但是因為我們需要的是倒數第n個指標的前乙個指標。所以我們再多等一次。但是這個時候就會出現邊界性的問題,如果倒數第n個指標是頭指標的下乙個指標,但我們此時還沒有後乙個指標(q.next= =null跳出),所以head.next=head.next.next(n= =0)(此時q就是head);如果僅有乙個數,即刪除頭指標時,head=head.next(q.next== null,n > 0)。

刷leetcode之刪除鍊錶節點

請編寫乙個函式,使其可以刪除某個鍊錶中給定的 非末尾 節點,你將只被給定要求被刪除的節點。現有乙個鍊錶 head 4,5,1,9 它可以表示為 示例 1 輸入 head 4,5,1,9 node 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 ...

LeetCode 刪除鍊錶的結點

github 編寫乙個函式,在給定單鏈表乙個結點 非尾結點 的情況下,刪除該結點。假設該鍊錶為1 2 3 4並且給定你鍊錶中第三個值為3的節點,在呼叫你的函式後,該鍊錶應變為1 2 4。很簡單的一道題,因為給定了將要被刪除的節點,而單向鍊錶又無法回溯,因此可以將下乙個節點刪除,並將值賦給要被刪除的節...

Leetcode 刪除鍊錶的節點

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...