LintCode 二叉树的最大深度
来源:互联网 发布:中国省份数据库 编辑:程序博客网 时间:2024/06/05 05:18
1.描述
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的距离。
给出一棵如下的二叉树:
1 / \ 2 3 / \ 4 5
这个二叉树的最大深度为3
.
题目描述中也给出了关于二叉树最大深度的注意点,最大深度为根节点到最远叶子节点的距离。
因此首先找到根节点到叶子节点的距离,而我们需要的是其中最大的一个。该过程可以分为左子树
和右子树分别进行,即分别求左、右子树的最大深度。
3.代码
/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param root: The root of binary tree.
* @return: An integer
*/
int height(TreeNode *root)
{
int lheight,rheight;
if(root==NULL) return 0;
lheight=height(root->left);//遍历左子树
rheight=height(root->right);//遍历右子树
if(lheight>rheight)//若左子树的深度大
return lheight+1;
else return rheight+1;
}
int maxDepth(TreeNode *root) {
// write your code here
return height(root);
}
};
4.总结
每访问一个节点,深度height+1,取左右子树中深度大的为返回值,之后分别遍历左右子树,
也可以分别求左子树和右子树的最大深度后再比较取大者。
- LintCode:二叉树的最大深度
- 二叉树的最大深度(LintCode)
- lintcode,二叉树的最大深度
- LintCode-二叉树的最大深度
- lintcode 二叉树的最大深度
- LintCode 二叉树的最大深度
- 二叉树的最大深度-LintCode
- LintCode 二叉树的最大深度
- lintcode 97 二叉树的最大深度
- [lintcode]二叉树的最大深度
- 二叉树的最大深度-LintCode
- [LintCode]97.二叉树的最大深度
- lintcode二叉树的最大深度
- lintcode 97.二叉树的最大深度
- [Lintcode] #97 二叉树的最大深度
- LintCode-剑指Offer-(97)二叉树的最大深度
- lintcode——二叉树的最大深度
- LintCode [递归]97.二叉树的最大深度
- 异常:Unsupported major.minor version 52
- C++primer学习笔记-----4.1基础
- QT5实现摄像头预览与扑捉图像
- 自定义键盘类
- Elasicsearch 配置详解
- LintCode 二叉树的最大深度
- 这是一份很有诚意的 Protocol Buffer 语法详解
- dp计算
- 山东省第七届ACM省赛 Triple Nim
- 删除数据
- Android 根据文件Uri找文件路径 和根据路径找文件Uri
- 往mysql中插入 自增id不连续(曾经的坑)
- Kth Smallest Element in a BST
- DSP2808与ARM STM32F103的SPI通讯例程及详解