尋找鍊錶的倒數第n個節點

2021-10-24 23:28:35 字數 581 閱讀 9645

兩次遍歷

從頭到尾統計節點個數,從而計算出倒數第n個是正數第幾個,二次遍歷得到。

雙指標一次遍歷

快慢指標,快指標先前進n個節點,之後一起前進直到快指標.next為null,此時慢指標所指的節點就是要找的。

佇列建立乙個長度為n的佇列,遍歷鍊錶逐一進入佇列,佇列滿時繼續進行出入隊操作,當鍊表全部遍歷完畢時,隊尾的元素就是倒數第n個節點。

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

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

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

class

solutionif(

!fast)

return head-

>next;

//可能刪除的是第乙個節點

while

(fast-

>next)

slow-

>next=slow-

>next-

>next;

return head;}}

;

鍊錶倒數第n個節點

題目 鍊錶倒數第n個節點 問題描述 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。如 給出鍊錶 3 2 1 5 null 和n 2,返回倒數第二個節點的值1.思路 遍歷整個鍊錶,計數鍊錶元素的個數。第二遍遍歷鍊錶,到倒數第n個節點處停止,輸出第n個節點。class solution int...

鍊錶倒數第n個節點

問題描述 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。樣例 給出鍊錶 3 2 1 5 null和n 2,返回倒數第二個節點的值1.解題思路 建立新煉表來建立兩個指標dummy和head,用head遍歷鍊錶得出鍊錶的長度。用dummy進行for迴圈,遍歷到第sum 1個節點,就得到倒數第n...

鍊錶倒數第n個節點

1.問題描述 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。樣例給出鍊錶3 2 1 5 null 和n 2,返回倒數第二個節點的值1.2.解題思路 建立兩個指標,先讓第乙個指標移動n個節點,然後兩個指標一起移動,當第乙個節點移動到最後乙個節點時,第二個指著指的就是倒數第n個節點,然後返回這...