資料結構 求二叉樹的最大深度

2021-08-29 22:35:06 字數 699 閱讀 4151

給定乙個二叉樹,找出其最大深度。

二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。

說明:葉子節點是指沒有子節點的節點。

示例:

給定二叉樹[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 要求函式返回...