具有n个结点的二叉树的最小深度是多少
时间: 2023-06-11 11:08:59 浏览: 350
Python实现二叉树的最小深度的两种方法
二叉树的最小深度是从根节点到最近的叶子节点的最短路径长度。如果二叉树为空,则最小深度为0。如果二叉树只有根节点,则最小深度为1。对于其他情况,可以通过递归求解左子树和右子树的最小深度,然后取较小值并加1,即可得到整个二叉树的最小深度。具体实现可以参考以下代码:
```
int minDepth(TreeNode* root) {
if (root == NULL) {
return 0;
}
if (root->left == NULL && root->right == NULL) {
return 1;
}
int leftDepth = INT_MAX;
if (root->left != NULL) {
leftDepth = minDepth(root->left);
}
int rightDepth = INT_MAX;
if (root->right != NULL) {
rightDepth = minDepth(root->right);
}
return min(leftDepth, rightDepth) + 1;
}
```
其中,TreeNode是二叉树的结点定义,INT_MAX是一个常量,表示int类型的最大值。
阅读全文