首页 > 其他分享 >【刷题笔记】104. Maximum Depth of Binary Tree

【刷题笔记】104. Maximum Depth of Binary Tree

时间:2023-11-09 22:00:46浏览次数:37  
标签:node Binary TreeNode int Tree Maximum maxDepth return root

题目

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Note: A leaf is a node with no children.

Example:

Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its depth = 3.

题目大意

要求输出一棵树的最大高度。

解题思路

这一题递归遍历就可,遍历根节点的左孩子的高度和根节点右孩子的高度,取出两者的最大值再加一即为总高度。

参考代码

package leetcode

import (
	"github.com/halfrost/LeetCode-Go/structures"
)

// TreeNode define
type TreeNode = structures.TreeNode

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */

func maxDepth(root *TreeNode) int {
	if root == nil {
		return 0
	}
	return max(maxDepth(root.Left), maxDepth(root.Right)) + 1
}

func max(a int, b int) int {
	if a > b {
		return a
	}
	return b
}

标签:node,Binary,TreeNode,int,Tree,Maximum,maxDepth,return,root
From: https://blog.51cto.com/u_16110811/8285846

相关文章

  • 树状数组(Binary Index Tree)
    一、问题引入LoguP3374模版题--树状数组。初始化一个数组,接下来进行若干次以下操作:单点修改:将某个元素的值进行修改区间访问:返回该区间的总和问题分析如果通过简单索引操作,“1”的时间复杂度为O(1),“2”的时间复杂度为O(n),其中如果使用一个dp表的方式来存储前n项之和,那么“......
  • [题解]CFgym103470E Paimon Segment Tree
    PaimonSegmentTree区间加,求一段时间内的区间平方和。\(n,m,q\le5\times10^4\)。对时间维差分一下,变成询问区间历史平方和。离线下来扫描线,扫描线维护时间维,数据结构维护序列维。考虑维护二元组\((a,s)\)表示当前位置值为\(a\),历史平方和为\(s\)。可以发现怎......
  • LeetCode #1131 Maximum of Absolute Value Expression 绝对值表达式的最大值
    安装Flutter环境首先配置flutter3开发环境,照着官方教程傻瓜式安装即可。>>安装和环境配置|Flutter中文文档|Flutter中文开发者网站注意在国内网络环境下需要进行一些额外的环境配置:>>在中国网络环境下使用Flutter|Flutter中文文档|Flutter中文开发者网站Description......
  • vue 项目使用element ui 中tree组件 check-strictly 用法
    属性check-strictly:   在显示复选框的情况下,是否严格遵循父子互相关联的做法,默c认为false。   默认false,父子关联。      点击父节点,其下子节点全部统一跟随父节点变化,点击子节点,子节点部分勾选时,父节点处于半选状态。   设置为true,严格遵循......
  • Set---SortedSet-NavigableSet-TreeSet
    SortedSet概述A{@linkSet}thatfurtherprovidesa<i>totalordering</i>onitselements.Theelementsareorderedusingtheir{@linkplainComparablenaturalordering},orbya{@linkComparator}typicallyprovidedatsortedsetcreationtime.......
  • Map---SortedMap&NavigableMap&TreeMap
    SortedMap概述A{@linkMap}thatfurtherprovidesa<em>totalordering</em>onitskeys.Themapisorderedaccordingtothe{@linkplainComparablenaturalordering}ofitskeys,orbya{@linkComparator}typicallyprovidedatsortedmapcreati......
  • python ElementTree操作xml节点
    pythonElementTree操作xml节点,包括增删改查xml原文<Voucher><Id>967a198783d14835860574c697478156</Id><Remark>main摘要443344245567583384475</Remark><Delete>需要删除的节点1</Delete><DetailList><Det......
  • HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
    一、HashMap和TreeMap区别1、HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。   TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(logn)。2、HashMap、TreeMap都继承AbstractMap抽象类;TreeMap实现SortedMap接口,所以TreeMap是有序的!HashMap是无序的......
  • 无涯教程-批处理 - TREE函数
    此批处理命令以任意级别的递归或深度显示当前目录所有子目录的树。TREE-语法TreeTREE-示例@echoofftree上面的命令将显示当前目录的树结构,以下是输出示例。FolderPATHlistingforvolumeWindows8_OSVolumeserialnumberisE41C-6F43C:.├───newdir├─......
  • Maximum Balanced Circle
    here首先根据题意,我们不难有数字是连续的这种感悟。而且限制是值域上的,从下标入手发现难以突破,便从值域上入手。从小到大考虑每个数字,然后dp,可以参考这篇题解。至于方案的输出,有两种情况。只有自己\(i\)和\(i-1\),直接输出即可。有自己和\(i-1\)的环,定义print输出环,且最大......