leetcode876 鍊錶的中間節點

2021-09-27 07:53:32 字數 359 閱讀 6571

給定乙個帶有頭結點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 型別的物件...