【LeetCode】(二叉树)二叉树的最大深度

Love The Way You Lie 2022-11-29 05:42 266阅读 0赞

二叉树的最大深度

题目描述

  • 题目:二叉树的最大深度
  • 难度:简单
  • 题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。
  • 示例一:在这里插入图片描述

解题思路

使用DFS算法,对一个结点的左右树进行深度遍历,比较左右树的最大深度

参考源码

  1. /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */
  2. int maxDepth(struct TreeNode* root){
  3. if(root == NULL)
  4. return 0;
  5. if(root->left == NULL && root->right == NULL)
  6. return 1;
  7. struct TreeNode* p = root;
  8. if(p == NULL)
  9. return 0;
  10. else
  11. {
  12. int Left_Height = maxDepth(p->left);
  13. int Right_Height = maxDepth(p->right);
  14. return (Left_Height > Right_Height ? Left_Height : Right_Height) + 1;
  15. }
  16. }

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,266人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LeetCode--深度

    题干: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 `[