題目:在二叉樹中尋找值最大的節點並返回。
樣例
1
/ \
-5 2
/ \ / \
0 3 -4 -5
返回值為3
的節點。
解題思路:
1、將初始最大值設定為root。
2、採用層序遍歷。訪問二叉樹是從上到下,從左往右依次訪問(fifo)。
3、每次訪問乙個結點,就把當前結點與原最大值結點進行比較。若當前結點的值大於原最大值結點的值,則原最大值結點更換為當前結點,否則不變。
**實現:
/**
* definition of treenode:
* class treenode
* }*/class solution
q.pop();
if(front->left != nullptr)
q.push(front->left);
if(front->right != nullptr)
q.push(front->right);
} return pmaxnode;
}};
二叉樹刪除節點, 查詢二叉樹最大值節點
從根節點往下分別查詢左子樹和右子樹的最大節點,再比較左子樹,右子樹,根節點的大小得到結果,在得到左子樹和右子樹最大節點的過程相似,因此可以採用遞迴的 樹節點結構 public class treenode public class solution treenode left maxnode roo...
二叉樹中節點的最大距離
二叉樹中距離最長的兩個節點一定是葉子節點或根節點,假設有乙個節點不是葉子節點或根節點,那麼其父親或者其兒子到另外乙個節點的距離比最大距離要大,所以假設錯誤。如果距離最長的兩個節點有乙個是根,那麼最長距離就等於樹的高,而且根只有乙個兒子,否則一定存在更長的距離。對於某乙個節點,設其左兒子和右兒子的高度...
二叉樹中節點的最大距離
如果我們把二叉樹看成乙個圖,父子節點之間的連線看成是雙向的,我們姑且定義 距離 為兩節點之間邊的個數。寫乙個程式求一棵二叉樹中相距最遠的兩個節點之間的距離。書中對這個問題的分析是很清楚的,我嘗試用自己的方式簡短覆述。計算乙個二叉樹的最大距離有兩個情況 只需要計算這兩個情況的路徑距離,並取其大者,就是...