天天看點

微軟面試題:寫程式找出二叉樹的深度

一個樹的深度等于max(左子樹深度,右子樹深度)+1。可以使用遞歸實作。

也可以采用下面的思路:

類似于遞歸的先序周遊,層層向下計算,每向下計算一層,深度 

                 就加1,caltreedepth(pnode pn, unsigned n)中的第二個 

                 參數表示上一層的深度,是以程式在調用時, 假設proot為整個 

                 樹的根節點,則其深度depth為: 

                                   unsigned depth = caltreedepth(proot, 0); 

*/ 

代碼如下: