leetcode 刪除鍊錶的倒數第N個節點 C

2021-08-21 22:10:57 字數 815 閱讀 7667

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

示例:

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

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

說明:

給定的 n 保證是有效的。

高階:

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

分析:

關鍵是找到倒數第n個節點,所以這裡我首先就使rear和head(用指標father->next指向head)的差距變為n,然後就依次往後走,直到走到盡頭,那麼father->next就是需要刪掉的節點,這裡的father我是自己新建的乙個節點,然後指向head,因為只有這樣才能刪除father->next。

持續改進ing。。。。。

**:

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

while(null != rear->next)

if(father->next == head)

head = head->next;

else

father->next = father->next->next;

return head;

}};

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

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?我採取一次掃瞄來實現。1.定義兩個指標,令他們相隔n的距離,則前...

LeetCode打卡練習之刪除鍊錶的倒數第N個節點

這道題目也十分簡單,但是用的方法非常重要,在鍊錶操作中也有大應用。刪除鍊錶倒數第n個節點,可以使用快慢指標法,快指標先出發,到達n時慢指標出發,快指標到達終點時,慢指標就會到達倒數第n個節點。其實鍊錶很多情況下都可以用 運動學 知識來解題,比如同樣的取排序鍊錶中位數也可以讓快指標速度是慢指標兩倍。但...

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

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?題目鏈結 鍊錶倒數第 n 個節點就是正數的第 len n 個節點...