思路:定義兩個快慢指標,快指標一次走兩步,慢指標一次走一步,當快指標到達尾結點時,慢指標剛好為中間結點,這裡需要區分兩種情況,當鍊表中結點數為奇數時,慢指標剛好到達中間結點;當鍊表中結點數為偶數時候,中間結點有兩個,返回乙個。
public
static listnote findmidnode(listnote headnote)
listnote firstnote = headnote;//快指標
listnote secondnote=null;
secondnote=headnote;//慢指標
while(firstnote.getnext()!=null)
else
}return secondnote;
}
定義單向鍊錶listnote
public
class listnote
public
listnote(int
value)
public listnote getnext()
public
void
setnext(listnote next)
public
intgetvalue()
public
void
setvalue(int
value)
}
鍊錶的中間結點
題目 給定乙個帶有頭結點 head 的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間結點。示例 1 輸入 1,2,3,4,5 輸出 此列表中的結點 3 序列化形式 3,4,5 返回的結點值為 3 測評系統對該結點序列化表述是 3,4,5 注意,我們返回了乙個 listnode ...
鍊錶的中間結點
給定乙個帶有頭結點 head 的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間結點。示例 1 輸入 1,2,3,4,5 輸出 此列表中的結點 3 序列化形式 3,4,5 返回的結點值為 3 測評系統對該結點序列化表述是 3,4,5 注意,我們返回了乙個 listnode 型別的...
鍊錶的中間結點
力扣題目鏈結 給定乙個帶有頭結點 head 的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間結點。例項1 輸入 1,2,3,4,5 輸出 此列表中的結點 3 序列化形式 3,4,5 返回的結點值為 3 例項2 輸入 1,2,3,4,5,6 輸出 此列表中的結點 4 序列化形式 ...