兩次遍歷
從頭到尾統計節點個數,從而計算出倒數第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個節點,然後返回這...