【leetcode】二叉樹的最大深度。
阿新 • • 發佈:2018-12-23
題目要求
二叉樹最大深度
- 給定一個二叉樹,找出其最大深度
- 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數
- 說明:葉子節點是指沒有子節點的節點
- 示例:
- 給定二叉樹:[3,9,20,null,null,15,7]
- 返回它的最大深度 3。
核心思想
遞迴思想。
完整程式碼如下
/**
* 二叉樹最大深度
* 給定一個二叉樹,找出其最大深度
* 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數
* 說明:葉子節點是指沒有子節點的節點
* 示例:
* 給定二叉樹:[3,9,20,null,null,15,7]
* 返回它的最大深度 3。
*
*/
public class Solution {
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
}
}
public int maxDepth(TreeNode root) {
if(root == null) {
return 0;
}
int left = maxDepth(root.left);
int right = maxDepth(root.right);
return left > right ? (left + 1) : (right + 1);
}
}