地址:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/

<?php
/**
面试题55 - I. 二叉树的深度
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
*/
/**
* Definition for a binary tree node.
* class TreeNode {
* public $val = null;
* public $left = null;
* public $right = null;
* function __construct($value) { $this->val = $value; }
* }
*/
class Solution { /**
* @param TreeNode $root
* @return Integer
*/
function maxDepth($root) {
if($root == null){
return 0;
}elseif($root->left == null || $root->right ==null){
return $this->maxDepth($root->left)+$this->maxDepth($root->right)+1;
}else{
$l = $this->maxDepth($root->left);
$r = $this->maxDepth($root->right);
return $l>$r ?$l+1 :$r +1;
}
}
}

面试题55 - I. 二叉树的深度的更多相关文章

  1. C++版 - 剑指Offer 面试题39:二叉树的深度(高度)(二叉树深度优先遍历dfs的应用) 题解

    剑指Offer 面试题39:二叉树的深度(高度) 题目:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.例如:输入二叉树 ...

  2. 剑指Offer面试题:33.二叉树的深度

    一.题目一:二叉树的深度 1.1 题目说明 题目一:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.例如下图中的二叉树的 ...

  3. 剑指offer面试题6 重建二叉树(c)

  4. 剑指offer面试题6 重建二叉树(java)

    注:(1)java中树的构建 (2)构建子树时可以直接利用Arrays.copyOfRange(preorder, from, to),这个方法是左开右闭的 package com.xsf.SordF ...

  5. 剑指offer——面试题8:二叉树的下一个节点

    // 面试题8:二叉树的下一个结点 // 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? // 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针. ...

  6. 剑指Offer面试题:18.二叉树的镜像

    一.题目:二叉树的镜像 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像.例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像. 该二叉树节点的定义如下,采用C#语言描述: public c ...

  7. 剑指Offer面试题:23.二叉树中和为某一值的路径

    一.题目:二叉树中和为某一值的路径 题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.例如输入下图中二叉树和整数2 ...

  8. 剑指Offer:面试题6——重建二叉树(java实现)

    问题描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不包含重复的数字. 例如: 输入:前序{1,2,4,7,3,5,6,8},中序{4,7,2,1 ...

  9. 剑指offer面试题25:二叉树中和为某一值的路径

    题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.从根节点开始往下一直到叶节点所经过的节点形成一条路径. 解题思路:当使用前序遍历的方式访问某一节点时,把该节点添加到路径上 ...

  10. 剑指offer——面试题27:二叉树的镜像

    函数递归 void MirrorIteratively(BinaryTreeNode* pRoot) { if(pRoot == nullptr) return; std::stack<Bina ...

随机推荐

  1. Linux&shell通过正则表达式查找文件练习

    linux&shell编程中通过正则表达式来匹配查找文件极大的提高查找效率. 首先,解释一下下边出现的命令. linux部分: ls:查看文件夹内的命令. |:管道. grep:搜索后边匹配的 ...

  2. mapstruct坑:Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.

    错误描述 项目中如果使用了mapstruct框架,在使用Idea新版本后,启动会报错! Internal error in the mapping processor: java.lang.NullP ...

  3. JVM实战—1.Java代码的运行原理

    大纲 1.Java代码到底是如何运行起来的 2.JVM类加载机制的一系列概念 3.JVM中有哪些内存区域及各自的作用 4.JVM的垃圾回收机制的作用 5.问题汇总 1.Java代码到底是如何运行起来的 ...

  4. Qt编写物联网管理平台48-特色功能设计

    一.前言 在物联网管理平台的实际现场应用过程中,遇到过大大小小几十个改进的需求点,这些需求点都是实际用户提出来的,一方面为了方便用户使用提高用户体验,一方面为了提升整体的整个系统的完整性,甚至有些需求 ...

  5. Qt开源作品14-导航按钮控件

    一.前言 导航按钮控件,主要用于各种漂亮精美的导航条,我们经常在web中看到导航条都非常精美,都是html+css+js实现的,还自带动画过度效果,Qt提供的qss其实也是无敌的,支持基本上所有的CS ...

  6. lottie-web动画库在HTML5页面中和在vue项目中的两种使用方式

    本文主要介绍lottie-web动画库在HTML5页面中和在vue项目中的两种使用方式. 1.在HTML5页面中的使用方式 具体使用步骤详见下面的代码: <!DOCTYPE html> & ...

  7. React基础笔记2

    一.生命周期函数 挂载卸载过程 constructor        props context componentWillMount  服务器与客户端 componentDidMount  ajax ...

  8. c# WindowsCommunityToolkit--- Shade Animation

    WindowsCommunityToolkit: https://github.com/CommunityToolkit/WindowsCommunityToolkit You can also pr ...

  9. Spring Boot进阶教程--注解大全

    springboot注解大全 SpringBoot注解就是给代码打上标签的能力.通过引入注解,我们可以简单快速赋予代码生命力,大大提高代码可读性和扩展性.注解本身不具有任何能力,只是一个标签,但是我们 ...

  10. Mysql调优之使用mysql慢查询日志优化sql语句及表索引

    Mysql调优之使用mysql慢查询日志优化sql语句及表索引 一,用慢查询日志找出耗时语句,并优化 # 查看mysql系统慢查询变量配置(能看到慢查询日志是否开启,日志路径等) SHOW VARIA ...