給定乙個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:給定二叉樹 [3,9,20,null,null,15,7],
3
/ \9 20
/ \
15 7
返回它的最大深度 3 。
遞迴三部曲
1、找終止條件。 什麼情況下遞迴結束?當然是樹為空的時候,此時樹的深度為0,遞迴就結束了。2、找返回值。 應該返回什麼?題目求的是樹的最大深度,我們需要從每一級得到的資訊自然是當前這一級對應的樹的最大深度,因此我們的返回值應該是當前樹的最大深度,這一步可以結合第三步來看。
3、本級遞迴應該做什麼。 首先,還是強調要走出之前的思維誤區,遞迴後我們眼裡的樹此時就三個節點:root、root.left、root.right,其中根據第二步,root.left和root.right分別記錄的是root的左右子樹的最大深度。那麼本級遞迴應該做什麼就很明確了,自然就是在root的左右子樹中選擇較大的乙個,再加上1就是以root為根的子樹的最大深度了,然後再返回這個深度即可。
/**
* definition for a binary tree node.
* public class treenode
* }*/class solution
//root的左、右子樹的最大深度
int leftdepth = maxdepth(root.left);
int rightdepth = maxdepth(root.right);
//返回的是左右子樹的最大深度+1(+1為加的根結點這層深度)
return math.max(leftdepth, rightdepth) + 1;
}}
LeetCode104二叉樹最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 definition for a binary tree node....
LeetCode 104 二叉樹的最大深度
題目描述 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 解題思路 此題可以用層次遍歷來解,每層設定乙個count值來...
leetcode 104 二叉樹的最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 definition for a binary tree node....