給定乙個帶有頭結點head的非空單鏈表,返回鍊錶的中間結點
如果有兩個中間結點,則返回第二個中間結點。
輸入:[1,2,3,4,5,6]
輸出:此列表中的結點 4
利用快慢指標,fast指標,每次移動兩步,慢指標每次移動兩步,當快指標,移動到鍊錶尾部的時候,慢指標此時正在,中間的位置,當鍊表的結點數為奇數,快指標恰好可以走到鍊錶尾,當鍊表數為偶數時,鍊錶不能恰好走到尾部,所以在迴圈的判斷條件,需要判斷fast->next
struct listnode* middlenode(struct listnode* head)
return pslow;
}
鍊錶 LeetCode 876
原題 給定乙個帶有頭結點head的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間結點。法一 遍歷兩次,第一次測出鍊錶長度,第二次遍歷至中間節點。struct listnode middlenode struct listnode head c c 2 while c retur...
LeetCode 876 鍊錶的中間結點
問題描述 給定乙個帶有頭結點 head 的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間結點。示例 1 輸入 1,2,3,4,5 輸出 此列表中的結點 3 序列化形式 3,4,5 返回的結點值為 3 測評系統對該結點序列化表述是 3,4,5 注意,我們返回了乙個 listnod...
LeetCode 876 鍊錶的中間結點
給定乙個帶有頭結點head的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間結點。示例 1 輸入 1,2,3,4,5 輸出 此列表中的結點 3 序列化形式 3,4,5 返回的結點值為 3 測評系統對該結點序列化表述是 3,4,5 注意,我們返回了乙個 listnode 型別的物件...