給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。
示例:
給定乙個鍊錶:1-
>2-
>3-
>4-
>
5, 和 n =
2.當刪除了倒數第二個節點後,鍊錶變為 1
->2-
>3-
>
5.
說明:
給定的 n 保證是有效的。
高階:
你能嘗試使用一趟掃瞄實現嗎?
思路:
定義乙個虛擬頭節點x,為能刪除頭節點。
定義快慢指標,快慢指標之間的距離是n,如果fast->next指向null,則slow指的是要刪除的節點。
**:
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
while
(fast-
>next !=
null
) slow-
>next = slow-
>next-
>next;
return x-
>next;}}
;
力扣 刪除鍊錶的倒數第N個節點
題目要求 給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?解題思路 方法一 兩次遍歷演算法 首先分析問題,問題可...
力扣19 刪除鍊錶的倒數第N個節點
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。definition for singly linked list.struct listnode...
力扣日記 019 刪除鍊錶的倒數第n個節點
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?1 獲得表頭,通過迴圈遍歷鍊錶,建立乙個容器將節點儲存。2 要刪...