- 104.二叉树的最大深度 559.n叉树的最大深度
- 111.二叉树的最小深度
- 222.完全二叉树的节点个数
104.二叉树的最大深度 (优先掌握递归)
什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。
大家 要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。
题目链接/文章讲解/视频讲解: 代码随想录
111.二叉树的最小深度 (优先掌握递归)
先看视频讲解,和最大深度 看似差不多,其实 差距还挺大,有坑。
题目链接/文章讲解/视频讲解:代码随想录
222.完全二叉树的节点个数(优先掌握递归)
需要了解,普通二叉树 怎么求,完全二叉树又怎么求
题目链接/文章讲解/视频讲解:代码随想录
int maxDepth(TreeNode* root) {if (root == NULL) return 0;return 1 + max(maxDepth(root->left), maxDepth(root->right));
}
int minDepth(TreeNode* root) {if (root == NULL) return 0;if (root->left == NULL && root->right != NULL)return 1 + minDepth(root->right);if (root->left != NULL && root->right == NULL)return 1 + minDepth(root->left);return 1 + min(minDepth(root->left), minDepth(root->right));
}
int countNodes(TreeNode* root) {if (root == NULL) return 0;return 1 + countNodes(root->left) + countNodes(root->right);
}