题解 | #二叉树的最大深度#

二叉树的最大深度

https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */
/*
思路总结:相当于是一直在比较当前节点的左右节点的深度,
一直递归:
    为空吗?为空返回0;
    不为空
        递归当前节点的左节点-->返回当前节点的左节点的最大深度
        递归当前节点的右节点-->返回当前节点的右节点的最大深度
    如果左大于右 左加1成为最大深度;反之右+1成为最大深度。
*/
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @return int整型
 */
int maxDepth(struct TreeNode* root ) {
  if(root==NULL)return 0;
  int leftnum=maxDepth(root->left);
  int rightnum=maxDepth(root->right);
  if(leftnum>rightnum)
  {
    return leftnum+1;
  }else {
    return rightnum+1;
  }
}

全部评论

相关推荐

03-24 21:23
已编辑
郑州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务