一、題目描述:
給定乙個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:給定二叉樹 [3,9,20,null,null,15,7],
3
/ \9 20
/ \
15 7
返回它的最大深度 3 。
二、解題思路:
求二叉樹深度=max(左子樹最大深度,右子數最大深度)+1;
使用遞迴求解左右子樹最大深度。
三、**:
方法一:使用遞迴
/**
* definition for a binary tree node.
* public class treenode
* }*/class
solution
//如果只有根結點,就返回1.
if(root.left==null&&root.right==null)
//遞迴遍歷左右子樹
int leftdepth=
maxdepth
(root.left)
;int rightdepth=
maxdepth
(root.right)
;int max=math.
max(leftdepth,rightdepth)+1
;return max;
}}
方法二:使用層序遍歷public
inttreedepth
(treenode root)
queue
queue =
newlinkedlist
<
>()
; queue.
offer
(root)
;int depth =0;
while
(!queue.
isempty()
)if(node.right != null)
} depth++;}
return depth;
}
力扣 104 二叉樹的最大深度
題目 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 題解 definition for a binary tree...
力扣104 二叉樹的最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 返回它的最大深度 3 遞迴計算左右子樹的高度,樹的高度等於左右子樹的最大高度加一 1 2 definition f...
力扣題解 104 二叉樹的最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 分析這個問題,我們可以採用divide and conquer思想.分...