給定乙個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明:葉子節點是指沒有子節點的節點。
示例:
給定二叉樹[3,9,20,null,null,15,7]
,
3
/ \9 20
/ \
15 7
返回它的最大深度 3 。
求最大深度,用遞迴子問題處理,如果root為空,則深度為0,如果root不為空,則遞迴求出左子樹的深度和右子樹的深度,若左子樹的深度小於右子樹的深度,則返回右子樹的深度+1,就為二叉樹的最大深度,反之,則返回左子樹的深度+1.
/**
* definition for a binary tree node.
* struct treenode ;
*/int maxdepth(struct treenode* root)
int leftdepth=maxdepth(root->left);
int rightdepth=maxdepth(root->right);
return leftdepth>rightdepth? leftdepth+1:rightdepth+1;
}
求二叉樹的最大深度
二叉樹的題目,大部分都能用分治的思路來解題。求二叉樹的最大深度,就是求左 右子數的最大深度 1即可。給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。樣例給出一棵如下的二叉樹 1 2 3 4 5這個二叉樹的最大深度為3.definition of treenode publi...
求二叉樹的最大深度
definition for a binary tree node.struct treenode 深度優先 遞迴版 class solution 深度優先 用棧的迴圈版 class solution p s.top first 若左邊無路,就預備右拐。右拐之前,記錄右拐點的基本資訊 deep s....
資料結構二叉樹的深度
6 8 求二叉樹高度 20 point s 本題要求給定二叉樹的高度。int getheight bintree bt 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 要求函式返回...