您的位置:首页 > 理论基础 > 数据结构算法

【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】

2018-01-12 11:06 971 查看

【104-Maximum Depth of Binary Tree(二叉树的最大深度)】

【LeetCode-面试算法经典-Java实现】【全部题目文件夹索引】

原题

  Given a binary tree, find its maximum depth.

  The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

题目大意

  给定一棵两叉树。求它的最大深度。

解题思路

  递归求解。递归公式

  f(n) = 0; n=null,

  f(n) = 1+ max(f(n左), f(n右))

代码实现

树结点类

public class TreeNode {
int val;
TreeNode left;
TreeNode right;

TreeNode(int x) {
val = x;
}
}


算法实现类

public class Solution {

public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
} else if (root.left == null && root.right == null) {
return 1;
} else {
int left = maxDepth(root.left);
int right = maxDepth(root.right);
return 1 + (left > right ? left : right);
}
}
}


评測结果

  点击图片,鼠标不释放。拖动一段位置,释放后在新的窗体中查看完整图片。



特别说明

欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/47354355

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐