找出鍊錶的中間結點

2021-07-02 15:22:02 字數 743 閱讀 2289

思路:定義兩個快慢指標,快指標一次走兩步,慢指標一次走一步,當快指標到達尾結點時,慢指標剛好為中間結點,這裡需要區分兩種情況,當鍊表中結點數為奇數時,慢指標剛好到達中間結點;當鍊表中結點數為偶數時候,中間結點有兩個,返回乙個。

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 序列化形式 ...