LeetCode鍊錶 19刪除鍊錶的倒數第N個節點

2021-10-03 23:36:16 字數 557 閱讀 9391

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

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

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

說明:給定的 n 保證是有效的。

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

我採取一次掃瞄來實現。

1.定義兩個指標,令他們相隔n的距離,則前面的指標跑到頭了,在後面的指標的下乙個元素就正好是第n號元素。

2.讓當前指標指向下下個節點,即刪除

struct listnode*

removenthfromend

(struct listnode* head,

int n)

else

}//後面的指標開始走,直到前面的指標走到鍊錶末尾

while

(tail->next!=

null

)//刪除

pre->next=pre->next->next;

return head;

}

鍊錶 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 ...

19 反轉鍊錶

傳送門 程式設計師面試題精選100題 19 反轉鍊錶 資料結構 題目 輸入乙個鍊錶的頭結點,反轉該鍊錶,並返回反轉後鍊錶的頭結點。鍊錶結點定義如下 struct listnode 分析 可以將鍊錶表示為如下形式 逆置操作相當於每次操作pcur節點,並將其next指向ppre,這樣直到鍊錶尾。個人實現...