zoukankan      html  css  js  c++  java
  • Leecode刷题之旅-C语言/python-104二叉树最大深度

    /*
     * @lc app=leetcode.cn id=104 lang=c
     *
     * [104] 二叉树的最大深度
     *
     * https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/description/
     *
     * algorithms
     * Easy (67.34%)
     * Total Accepted:    33.2K
     * Total Submissions: 49.2K
     * Testcase Example:  '[3,9,20,null,null,15,7]'
     *
     * 给定一个二叉树,找出其最大深度。
     * 
     * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
     * 
     * 说明: 叶子节点是指没有子节点的节点。
     * 
     * 示例:
     * 给定二叉树 [3,9,20,null,null,15,7],
     * 
     * ⁠   3
     * ⁠  / 
     * ⁠ 9  20
     * ⁠   /  
     * ⁠  15   7
     * 
     * 返回它的最大深度 3 。
     * 
     */
    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     struct TreeNode *left;
     *     struct TreeNode *right;
     * };
     */
    int maxDepth(struct TreeNode* root) {
        if(root==NULL) return 0;
        int l1 = maxDepth(root->left);
        int l2 = maxDepth(root->right);
        return ((l1>l2)?l1:l2)+1;
    }

    这道题思路很简单,就是左子树深度和右子树深度更大的一个就是二叉树的最大深度。

    ----------------------------------------------------------------------------------------------------------------

    python;

    #
    # @lc app=leetcode.cn id=104 lang=python3
    #
    # [104] 二叉树的最大深度
    #
    # https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/description/
    #
    # algorithms
    # Easy (67.34%)
    # Total Accepted:    33.2K
    # Total Submissions: 49.2K
    # Testcase Example:  '[3,9,20,null,null,15,7]'
    #
    # 给定一个二叉树,找出其最大深度。
    # 
    # 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
    # 
    # 说明: 叶子节点是指没有子节点的节点。
    # 
    # 示例:
    # 给定二叉树 [3,9,20,null,null,15,7],
    # 
    # ⁠   3
    # ⁠  / 
    # ⁠ 9  20
    # ⁠   /  
    # ⁠  15   7
    # 
    # 返回它的最大深度 3 。
    # 
    #
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    class Solution:
        def maxDepth(self, root):
            if root == None:
                return 0
            else:
                return max(self.maxDepth(root.left),self.maxDepth(root.right))+1
  • 相关阅读:
    .net framework v4.5.2
    sql数据库不允许保存更改和保存失败解决方法
    如何查看笔记本电脑型号
    Premiere 5.0/5 .5菜单详解
    Python编辑器英文菜单的中文翻译及解释
    SqlServer--常用数据查询
    pycharm上方菜单栏不见了如何恢复
    笔记本电脑的f1到f12怎么按
    C#的访问权限
    封装,继承和多态知识点汇总
  • 原文地址:https://www.cnblogs.com/lixiaoyao123/p/10523459.html
Copyright © 2011-2022 走看看