求二叉树的深度
来源:互联网 发布:鼎捷软件股份有限公司 编辑:程序博客网 时间:2024/06/06 03:34
- 剑指offer
二叉树深度
一、题目描述: 题目来源
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
二、题目分析:递归
如果该树只有一个结点,它的深度为1.如果根节点只有左子树没有右子树,那么树的深度为左子树的深度加1;同样,如果只有右子树没有左子树,那么树的深度为右子树的深度加1。如果既有左子树也有游资是,那该树的深度就是左子树和右子树的最大值加1.
这个思路用递归实现如下:
/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { public int TreeDepth(TreeNode root) { if(root==null) return 0; int left=0; int right=0; if(root.left!=null){ left=TreeDepth(root.left); } if(root.right!=null){ right=TreeDepth(root.right); } return left>right?left+1:right+1; }}
0 0
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- 求二叉树的深度
- Kettle使用统一的数据库配置
- Cascade Classifier 级联分类器
- MySQL语法大全_自己整理的学习笔记
- JAVA虚拟机类加载过程
- Scanner类中nextLine()方法与next()或nextInt()联用时可能出现一个常见的错误
- 求二叉树的深度
- PAT 乙等 1017 C语言
- Android NDK使用示例说明
- C/C++学习(7)strcpy函数与while循环
- Python 3基础教程6-for循环语句
- 文章标题js时间戳转时间
- magento 添加会员注册字段
- 错误:Gradle sync failed: Could not find method android() for arguments [build_6d4hiu27bgm2ho4bez6d80wx
- c语言练习