LeetCode系列之二叉树最大深度求解问题 C++

来源:互联网 发布:淘宝详情图片尺寸 编辑:程序博客网 时间:2024/06/06 01:53
问题: 给定二叉树, 如何计算二叉树最大深度?
算法描述如下:
如果当前节点为空, 返回0(代表此节点下方最大节点数为0)

如果当前节点不为空, 返回(其左子树和右子树下方最大节点数中的最大值+1)


代码如下:

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    int maxDepth(TreeNode *root) {        int depth;        int depthLeft;        int depthRight;                if(!root)            {            depth=0;        }        else{            depthLeft=maxDepth(root->left);            depthRight=maxDepth(root->right);            depth=1+(depthLeft > depthRight ? depthLeft : depthRight);        }        return depth;    }};



阅读全文
0 0
原创粉丝点击