示例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停止時,中間有兩...