二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
生活随笔
收集整理的這篇文章主要介紹了
二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言:
二叉樹刷題是有固定思維的,請移步
README】二叉樹刷題框架
二叉樹最大深度
題目
點擊跳轉:LeetCode
此題如果從上向下前序遍歷進行判斷復雜度過高,因為每次判斷一個結點都會涉及到很多重復。所以可以按照后序遍歷的方式,直接先遞歸到葉子結點處,然后不斷向上返回即可,最終判斷左子樹大還是右子樹大,大的就是整個樹的最大深度。需要注意的是每次返回要+1,否則會忽略根節點
class Solution { public:int maxDepth(TreeNode* root) {if(root==NULL)return 0;int left=maxDepth(root->left);int right=maxDepth(root->right);return left >right ? left+1 : right+1;} }; 新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2-4:套接字(Socket)编程之TC
- 下一篇: PHP 计算每个月的最后一天