找到鍊錶的倒數第n個節點(快慢指標)

2021-10-25 20:15:29 字數 631 閱讀 9913

解決的問題:

找到乙個鍊錶的倒數第n個節點

定義兩個指標 fast 和 slow 都指向head節點,先讓fast指標向前移動n個節點,這時再讓slow指標開始向後移動。

當fast為null時,slow剛好就停在了倒數第n個節點的位置。

(劍指offer)輸入乙個鍊錶,輸出該鍊錶中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾節點是倒數第1個節點。
**:

struct listnode*

getkthfromend

(struct listnode* head,

int n)

else

}return slow;

}

(leecode)實現一種演算法,找出單向鍊錶中倒數第 k 個節點。返回該節點的值。
**:

int

kthtolast

(struct listnode* head,

int k)

while

(fast)

return slow->val;

}

鍊錶倒數第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個節點,然後返回這...