美文网首页力扣 初级算法 全套力扣精解
初级算法-树-二叉树的最大深度

初级算法-树-二叉树的最大深度

作者: coenen | 来源:发表于2021-08-31 07:20 被阅读0次
给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。
摘一个示例做个说明.
示例:
    3
   / \
  9  20
    /  \
   15   7

给定二叉树 [3,9,20,null,null,15,7],
返回它的最大深度 3 。
条件分析:
  1. 二叉树根节点到叶子节点的最长路径 -> 需要知道最长的
解决思路1:
  1. 根据分析1说明需要采用递归遍历
采用递归调用,一直查找所有的子节点.直到所有的叶子结点结束
func maxDepth(_ root: TreeNode?) -> Int {
 if root == nil {
     return 0
 }

 let left = maxDepth(root?.left)
 let right = maxDepth(root?.right)
 return left > right ? left + 1 : right + 1
 }

测试用例:

// 二叉树
let tree = TreeNode()
tree.left = TreeNode()
tree.right = TreeNode()
tree.left?.right = TreeNode()
tree.left?.right?.left = TreeNode()
tree.right?.right = TreeNode()
// 二叉树
let tree = TreeNode()

考察要点:

  • 深度搜索优先
  • 广度搜索优先
  • 二叉树

相关文章

  • LeetCode初级算法--树01:二叉树的最大深度

    LeetCode初级算法--树01:二叉树的最大深度 搜索微信公众号:'AI-ming3526'或者'计算机视觉这...

  • LeetCode基础算法-树

    LeetCode基础算法-树 LeetCode 树 基础算法 1. 二叉树的最大深度 给定一个二叉树,找出其最大深...

  • 每日Leetcode—算法(10)

    100.相同的树 算法: 101.对称二叉树 算法: 104.二叉树的最大深度 算法: 107.二叉树的层次遍历 ...

  • 面试题汇总(数据结构)

    数据结构和算法 链表 二叉树 二叉树的最大深度[https://leetcode-cn.com/problems/...

  • 二叉树面试题基本问题

    二叉树的最大深度与最小深度 二叉树的最大深度 最大深度是指二叉树根节点到该树叶子节点的最大路径长度。而最小深度自然...

  • 初级算法-树-二叉树的最大深度

    给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没...

  • 二叉树的深度系列

    LeetCode 104 二叉树的最大深度 题目 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节...

  • LeetCode 深度优先遍历

    概述 前言 104 二叉树的最大深度【简单】 111 二叉树的最小深度 【简单】 124 二叉树中的最大路径和 【...

  • 翻转二叉树(Java)

    翻转二叉树 对于此题而言,我们使用深度优先算法来遍历二叉树。 1、深度优先算法是根据二叉树的路径进行遍历2、广度优...

  • LeetCode-104-二叉树的最大深度

    LeetCode-104-二叉树的最大深度 104. 二叉树的最大深度[https://leetcode-cn.c...

网友评论

    本文标题:初级算法-树-二叉树的最大深度

    本文链接:https://www.haomeiwen.com/subject/xywoiltx.html