1. 程式人生 > >【leetcode】二叉樹的最大深度。

【leetcode】二叉樹的最大深度。

題目要求

二叉樹最大深度

  • 給定一個二叉樹,找出其最大深度
  • 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數
  • 說明:葉子節點是指沒有子節點的節點
  • 示例:
  • 給定二叉樹:[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); } }