LeetCode19 刪除鍊錶中倒數第k個節點

2021-10-04 21:17:51 字數 750 閱讀 7420

連線

快慢指標:快指標quick,慢指標slow,同時需要儲存slow之前的乙個節點用作將slow節點刪除;

首先quick指標先走n步,然後兩個指標一起走,當quick指標走到鍊錶尾部的時候,則此時slow走到倒數第n個節點,此時可以將pre.next=slow.next進行刪除,因為可能將頭節點刪除,因此可以採用哨兵機制

package clinkedlist;

/** * @author zhou jian

* @date 2020 $ 2020/4/9 0009 00:58

*/public

class

problem19

//快慢指標一起走:當塊指標走到鍊錶尾部的時候,慢指標走到倒數第nge

//尋找倒數第k個節點:

while

(quick!=null)

//刪除倒數第k個:因為有哨兵指標,這樣可以直接

prev.next = slow.next;

//返回哨兵的下乙個節點

return virtual.next;

}}

鍊錶 LeetCode19刪除鍊錶中的第N個節點

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?分析 看到這個問題,第一反應,先求長度,再找節點,看一下高階,有...

LeetCode 19 鍊錶(160)

1 如圖,鍊錶是一種非常常用的資料結構 煉表頭 指向第乙個鍊錶結點的指標 鍊錶結點 鍊錶中的每乙個元素,包括 1 當前結點的資料,2 下乙個結點的位址 鍊錶尾 不再指向其他結點的結點,其位址部分放乙個null,表示鍊錶到此結束。2 鍊錶可以動態地建立 動態地申請記憶體空間 int pint new ...

Leetcode 19 刪除鍊錶的第N個節點

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?兩次遍歷的演算法思路 第一遍歷從頭結點開始來計算鍊錶的長度,然後...