大小为 1 的二叉树的最大深度

Max Depth of binary tree with size one

我正在尝试找到二叉树的最大深度并使用递归方法。它看起来像这样:

public int depth(TreeNode root) {
    if(root==null) return 0;
    int leftVal=maxDepth(root.left);
    int rightVal=maxDepth(root.right);
    return 1 + Math.max(leftVal,rightVal);
}

现在,如果只有一个节点(根),它将 return 1。但是,由于该节点是根,所以该节点的深度不为 0 且高度为 1 吗?或者树的最大深度是否与单个节点不同?

深度不是树的度量,而是树的节点的度量。

在你的例子中,一个节点的 maxDepth 听起来像是那个节点的高度。

  • 节点的深度是从根到节点的边数。
  • 节点的高度是从该节点到最深叶子节点的边数。
  • 一棵树的高度就是根的高度。

考虑这张图片: