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

    题目:

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

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

    样例

    给出一棵如下的二叉树:

      1
     /  
    2   3
       / 
      4   5
    

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

    解题

    递归方式求树的深度,记住考研时候考过这一题

    Java程序:

    /**
     * Definition of TreeNode:
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left, right;
     *     public TreeNode(int val) {
     *         this.val = val;
     *         this.left = this.right = null;
     *     }
     * }
     */
    public class Solution {
        /**
         * @param root: The root of binary tree.
         * @return: An integer.
         */
        public int maxDepth(TreeNode root) {
            // write your code here
            if(root==null)
                return 0;
            int res = 0;
            res = depth(res,root);
            return res;
        }
        public int depth(int res,TreeNode root){
            if(root==null)
                return res;
            if(root.left==null && root.right==null)
                return res+1;
            int res1=depth(res,root.left)+1;
            int res2=depth(res,root.right)+1;
            res = Math.max(res1,res2);
            return res;
        }
    }
    View Code

    总耗时: 2586 ms

    """
    Definition of TreeNode:
    class TreeNode:
        def __init__(self, val):
            self.val = val
            self.left, self.right = None, None
    """
    class Solution:
        """
        @param root: The root of binary tree.
        @return: An integer
        """ 
        def maxDepth(self, root):
            # write your code here
            res = 0
            res = self.depth(res,root)
            return res
            
        def depth(self,res,root):
            if root==None:
                return 0
            if root.left==None and root.right==None:
                return res+1
            res1 = self.depth(res,root.left)+1
            res2 = self.depth(res,root.right)+1
            res = res1 if res1>res2 else res2
            return res
    View Code

    总耗时: 835 ms

  • 相关阅读:
    P1144 最短路计数 题解 最短路应用题
    C++高精度加减乘除模板
    HDU3746 Teacher YYF 题解 KMP算法
    POJ3080 Blue Jeans 题解 KMP算法
    POJ2185 Milking Grid 题解 KMP算法
    POJ2752 Seek the Name, Seek the Fame 题解 KMP算法
    POJ2406 Power Strings 题解 KMP算法
    HDU2087 剪花布条 题解 KMP算法
    eclipse创建maven项目(详细)
    maven的作用及优势
  • 原文地址:https://www.cnblogs.com/theskulls/p/4867187.html
Copyright © 2011-2022 走看看