二叉树的深度

作者 : 开心源码 本文共484个字,预计阅读时间需要2分钟 发布时间: 2022-05-13 共214人阅读

题目形容

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

示例

给定二叉树 [3,9,20,null,null,15,7],    3   / \  9  20    /  \   15   7返回它的最大深度 3 。

思路

  1. 可以使用递归算法求解。
  2. 判断当前递归到的结点能否为null,若为null,返回0;否则返回其孩子的最大深度。

Java代码实现

public int maxDepth(TreeNode root) {    if(root == null){        return 0;    }    return Math.max(maxDepth(root.left),maxDepth(root.right))+1;}

Golang代码实现

func maxDepth(root *TreeNode) int {        if root == nil{        return 0    }        leftDepth := maxDepth(root.Left)    rightDepth := maxDepth(root.Right)        if leftDepth > rightDepth{        return leftDepth+1    }else{        return rightDepth+1    }    }
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 二叉树的深度

发表回复