zoukankan      html  css  js  c++  java
  • Lintcode---二叉树的最大深度

    给定一个二叉树,找出其最大深度。

    二叉树的深度为根节点到最远叶子节点的距离。

    样例

    给出一棵如下的二叉树:

      1
     /  
    2   3
       / 
      4   5
    

    这个二叉树的最大深度为3.

    思路:与二叉树最小深度思路一样,一次AC;
          

          这种容易题目要很熟练,主要是思路要清晰。

    /**
     * Definition of TreeNode:
     * class TreeNode {
     * public:
     *     int val;
     *     TreeNode *left, *right;
     *     TreeNode(int val) {
     *         this->val = val;
     *         this->left = this->right = NULL;
     *     }
     * }
     */
    class Solution {
    public:
        /**
         * @param root: The root of binary tree.
         * @return: An integer
         */
        /*
        思路:与二叉树最小深度思路一样,一次AC;
              这种容易题目要很熟练。
        */
        int maxDepth(TreeNode *root) {
            // write your code here
            
            if(root==NULL){
                return 0;
            }
            
            if(root->left==NULL){
                return maxDepth(root->right)+1;
            }
            
            if(root->right==NULL){
                return maxDepth(root->left)+1;
            }
            
            return max(maxDepth(root->left),maxDepth(root->right))+1;
        }
    };
    
  • 相关阅读:
    C#static
    Sql中CHARINDEX用法
    分分钟用上C#中的委托和事件
    为什么使用抽象类?有什么好处?
    【NOIP】普及组2009 细胞分裂
    【VIJOS】P1512 SuperBrother打鼹鼠
    【NOIP】提高组2014
    @NOIP2018
    @NOIP2018
    @NOIP2018
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/7088780.html
Copyright © 2011-2022 走看看