題目:輸入一棵二元樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度爲樹的深度。
例如:輸入二元樹:
10
/ /
6 14
/ / /
4 12 16
輸出該樹的深度3。
二元樹的結點定義如下:
解法一:遍歷二元樹的所有路徑,輸出路徑最大的值。
解法二:遞歸遍歷樹,一個節點的深度等於它的左右子樹深度較大者加一。
解法三:BFS,每遍歷一層深度加一。可用一個全局變量判斷某一層有多少個節點,用來標記層的開始和結束。