鍊錶倒數第n個節點

2021-07-29 18:45:38 字數 696 閱讀 5503

問題描述:找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。

樣例:給出鍊錶 3->2->1->5->null和n = 2,返回倒數第二個節點的值1.

解題思路:建立新煉表來建立兩個指標dummy和head,用head遍歷鍊錶得出鍊錶的長度。

用dummy進行for迴圈,遍歷到第sum-1個節點,就得到倒數第n個節點最後返回dummy。

**:/**

* definition of listnode

* class listnode

* }*/

class solution

for(i=0;inext;

}return dummy;}};

感想:解題可以有多種方法,看了其同學的**感覺這個思路很奇妙,想法獨闢蹊徑。

倒數第n個節點和最後乙個節點間相隔n-1個節點,如果建立兩個指向節點指標想辦法讓這兩個指標之間相差n-1個節點的,兩個指標同時移動,乙個指標到達最後乙個節點則另乙個也就到達了倒數第n個節點,如此便找到了倒數第n個節點。

**:if(head==null||n<1)

return null;

listnode *dummy=head;

listnode *m=head;

for(int i=1;inext;

}while(head->next!=null)

return m;

鍊錶倒數第n個節點

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

鍊錶倒數第n個節點

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

鍊錶倒數第n個節點

題目描述 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。樣例 給出鍊錶 3 2 1 5 null和n 2,返回倒數第二個節點的值1.因為鍊錶是不能回溯的,同時也不像陣列那樣,每個元素都存有乙個自然的索引,可以實現快速查詢,所以,我們在這裡,通過兩個指標來解決這個問題。想一想之前在 排序鍊錶...