求單鏈表的中間元素

2021-10-04 20:57:01 字數 566 閱讀 4469

示例1:

輸入:1 --> 2 --> 3

輸出: 2

示例2:

輸入:1 --> 2 --> 3 --> 4

輸出:2

思路:

如果是陣列,我們可以怎麼求中間元素:arr[(arr.length-1/2]

相模擬,如果是鍊錶

a.求鍊錶的長度

b.從頭開始遍歷鍊錶,並計數

public class middleelement

//計算中間元素的索引

int index = (length -1 )/2;

//從頭開始遍歷鍊錶,並計數

int i = 0;

x = head;

while(x < index)

return x.value;

}public static void main(string args)

}public calss node

public node(int value,node next)

}

單鏈表求中間節點

難度 兩星 單鏈表求中間節點分為兩種情況 1 單鏈表長度為奇數時,如abcde,那麼中間節點就是c。2 單鏈表長度為偶數時,如abcdef,那麼中間節點有兩個c和d。本文簡單起見就取第二個中間節點。思想 其實思想很簡單,其實就是跟 判斷單鏈表儲存的字串是否為 回文串 中求中間節點的方法一模一樣,使用...

查詢單鏈表中間元素

查詢單鏈表中間元素 include using namespace std struct linknode class linklist linklist void insertvalue int nvalue void reverse void reverse2 linknode findlast...

取得單鏈表中間元素

配套的單鏈表在另一篇部落格。核心問題就是下面的那個while判斷條件,和最下面的奇數鍊錶和偶數鍊錶的問題。然後是判斷單鏈表的元素個數是奇數還是偶數的問題,觀察 畫的表。當元素個數為奇數的時候,first停止時,second位置正好就是中間的位置,問題是元素個數為偶數的時候,first停止時,中間有兩...