二叉树的最大深度

二叉树的最大深度

http://www.nowcoder.com/questionTerminal/8a2b2bf6c19b4f23a9bdb9b233eefa73

本题有多种解法:

  1. 后序遍历,每次返回以当前节点为根节点的子树的深度
  2. 先序遍历,记录根节点到当前节点的高度,如果是叶子,则更新max值

下面采用第一种思路:

class Solution {
public:
    /**
     *
     * @param root TreeNode类
     * @return int整型
     */
    int maxDepth(TreeNode* root) {
        // write code here
        return postOrder(root);
    }

    int postOrder(TreeNode* root) {
        if (!root) return 0;
        int left = 1 + postOrder(root->left);
        int right = 1 + postOrder(root->right);
        return left > right ? left : right;
    }
};
刷遍天下无敌手 文章被收录于专栏

秋招刷题历程

全部评论
空返回0不空加吧,这句if (!root) return 0;是不是写反了?
点赞 回复 分享
发布于 2020-09-12 16:46

相关推荐

评论
15
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务