//方法一:
//自顶向下(前序遍历)
int depth(struct TreeNode* root, int dep)
{
int left_dep, right_dep;
if (root == NULL)
{
return dep;
}
if (root != NULL)
{
dep++;
left_dep = depth(root->left, dep);
right_dep = depth(root->right, dep);
}
return left_dep > right_dep ? left_dep : right_dep;
}
int maxDepth(struct TreeNode* root)
{
return depth(root, 0);
}
//方法二:
//自底向上(后序遍历)
int depth(struct TreeNode* root)
{
int left_dep, right_dep;
if (root == NULL)
{
return 0;
}
if (root != NULL)
{
left_dep = depth(root->left);
right_dep = depth(root->right);
}
return left_dep > right_dep ? left_dep + 1 : right_dep + 1;
}
int maxDepth(struct TreeNode* root)
{
return depth(root);
}
104. 二叉树的最大深度
于 2022-01-22 16:07:21 首次发布