輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
結點的定義如下:
struct treenode;
對於樹的問題基本都可以通過遞迴來解決。
一棵二叉樹的深度,等於它的左子樹深度和右子樹深度的較大者+1;
遞迴的結束條件就是:該結點為空,深度為0;
struct treenode;
int treedepth(treenode* proot)
ac**:
/*
struct treenode
};*/
class solution
};
劍指Offer 面試題39 二叉樹的深度
二叉樹的深度 輸入一顆二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 也節點 形成樹的一條路徑,最長路徑的長度為樹的深度 12 3 4 5 6 7圖中二叉樹的深度為4,從根節點1開始經過結點2和5,最終到達葉結點7 輸入 第一行輸入有n,n表示結點數,結點號從1到n。根結點為1。...
劍指Offer 面試題39 二叉樹的深度
題目描述 輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉子點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。題目分析 如果一棵樹只有乙個結點,它的深度為1。如果根結點只有左子樹而沒有右子樹,那麼樹的深度應該是其左子樹的深度加1,同樣如果根結點只有右子樹而沒有左子樹,那麼...
《劍指Offer》面試題 平衡二叉樹
題目 輸入乙個二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。思路 用後序遍歷實現 先遍歷節點的左右子樹,左右子樹都平衡才來判斷該節點是否平衡,如果左右子樹中有不平衡的,則直接返回false,避免了從上往下逐個節點地計算深度帶來...