鍊錶 獲取鍊錶的倒數第k個元素

2021-09-11 06:09:49 字數 328 閱讀 1352

思路1:暴力 ,先暴力一次鍊錶,記錄鍊錶的長度n,第二次遍歷n-k+1個元素,返回,一共需要2n+1-k個

思路2:兩個指標,左右指標相差k-1個距離,有指標到達鍊錶末尾時,做指標指向倒數第k個元素.(經典思路,兩個指標相差k個間隔)

思路2實現**

public static node getfindnfromendtolist(node head,int k)

while(fisrt!=null)

return second;

}public static void main(string args)

鍊錶中倒數第k個元素

時間限制 1秒 空間限制 32768k 熱度指數 301751 本題知識點 鍊錶輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。class solution while phead next null return ptail 解題思路 傳統方法是從左到右遍歷一遍,得出鍊錶中的結點總數,然後計算倒數第k個...

找出鍊錶倒數第K個元素

思路 可設兩個頭指標p1和p2,當p2開始向前走,當走的步數為k時,p1開始走,此時當p2走到結尾時,p1所指的位置正好為倒數第k個元素的位置 class listnode override public string tostring return sb.tostring public stati...

鍊錶倒數第k個節點

兩個指標一前一後,相距k即可。include include using namespace std struct linknode typedef linknode linklist void insertlist linklist list int data else linknode rese...