劍指offer系列 二叉樹的深度

2021-07-11 03:03:03 字數 696 閱讀 8199

題目描述:

輸入一棵二叉樹,求其深度 。

樹的深度定義為:從根節點到葉子節點的路徑長度的最大值

示例:

分析:

對每個節點而言,以該節點為根節點的樹的深度為左子樹和右子樹深度的較大值加1.

因此用遞迴可以很容易的實現  

**:

int depth(treenode *root)
分析:同樣可以用遞迴來實現。為了使每個節點只遍歷一次,可以採用後序遍歷。

在後序遍歷中,訪問根節點時,左右子樹已經全部都訪問完。

**:

bool isbalanced(treenode *root,int *depth)

intleft,right;

if(isbalanced(root->left,&left)&&isbalanced(root->right,&right))

}return false;

}

劍指offer系列(38)二叉樹的深度

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。思路分析 先複習一下概念 樹的深度 以 二叉樹的根結點所在的層數為1,根結點的孩子結點所在的層數為2,以此下去。深度是指所有結點中最深的結點所在的層數。遞迴思路 樹的深度...

《劍指offer》系列 二叉樹的深度(Java)

鏈結 牛客 二叉樹的深度 leetcode 劍指 offer 55 i.二叉樹的深度 104.二叉樹的最大深度 思路 有遞迴和非遞迴兩種方法 牛客 public class solution leetcode public intmaxdepth treenode root list queue n...

劍指offer系列31 二叉樹的深度

第乙個小題目是求二叉樹的深度的,前面做過很多二叉樹的題,這個就比較簡單了。1 class solution 7int treedepth treenode proot 816 if proot right 1720 return max left,right 1 21 22 23 第二個小題在第乙個...