1、树的相关术语

2、思路(递归)
若只有一个根节点,则二叉树的深度为1;没有从结点的角度考虑,将根节点记为0,左右节点分别为1和2.若根节点有左子树和右子树,那该二叉树的深度为左子树的深度与右子树的深度的较大值加一。同理,将编号编号为1的结点看做根节点,该子树的深度为1号结点的左子树和右子树的深度较大值加1.如此不停划分子树递归调用,直至结点为叶结点,深度为1,递归出栈的过程深度加1.
3、代码
public class Solution {
public int TreeDepth(TreeNode root) {
if (root == null)
return 0;
int left = TreeDepth(root.left);
int right = TreeDepth(root.right);
return (left > right) ? (left+1) :(right+1);
}
}
本文解析了如何通过递归计算二叉树的深度,以树的相关术语为基础,详细介绍了从根节点开始逐层划分子树的过程,并给出了一个Java代码示例。
1032

被折叠的 条评论
为什么被折叠?



