104 二叉樹的最大深度

2021-09-02 20:20:50 字數 903 閱讀 5931

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

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

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

示例:給定二叉樹 [3,9,20,null,null,15,7],

3
/

9 20

/ 15 7

返回它的最大深度 3 。

解題思路:

採用dfs進行深度搜尋,一行算一次搜尋,輸出結果長度即可。

c++**:

#define haslchild(x) (!(x->leftnull))//是否有左孩子

#define hasrchild(x) (!(x->rightnull))//是否有右孩子

#define hasonlylc(x) (haslchild(x)&&!hasrchild(x))//是否只有左孩子

#define hasonlyrc(x) (!haslchild(x)&&hasrchild(x))//是否只有右孩子

#define hasdoulechild(x) (haslchild(x)&&hasrchild(x))//是否有兩個孩子

#define hasnochild(x) (!haslchild(x)&&!hasrchild(x))//是否沒有孩子

class solution

;if(root==null)return 0;

if(hasnochild(root))return 1;

queueq;

treenode* node;

vectorres1;

q.push(root);

while(!q.empty())

res.push_back(res1);

}return res.size();}};

104 二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 思路 使用遞迴,遍歷左子樹右子樹,使用max找出最大的深度。defin...

104 二叉樹的最大深度

每日leetcode 24 二叉樹的最大深度 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 這道題遞迴到最後葉節點...

104 二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 使用遞迴方式計算,獲取其左子樹和右子樹的深度,比較兩個深度的大小,決定...