地址: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. ASP.NET Core IHostBuilder

    HostBuilder 很显然,HostBuildr 就是用来构建 Host 的构建器. IHostBuilder 定义 通过 Build() 方法,构建器返回构建的 IHost 对象实例. 具体怎么 ...

  2. 【Git】Gie基础操作学习笔记01

    获取项目信息 remote可以看做是一个人的电脑,假设有十个人合作,那么就有10个remote对象.为了方便大家同步,我们创建一个叫做origin的remote,大家都和这个origin同步,那么大家 ...

  3. 《HelloGitHub》第 105 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...

  4. Qt开源作品43-超级图形字体

    一.前言 对于众多的Qter程序员来说,美化UI一直是个老大难问题,毕竟这种事情理论上应该交给专业的美工妹妹去做,无奈在当前整体国际国内形式之下,绝大部分公司是没有专门的美工人员的,甚至说有个兼职的美 ...

  5. Qt编写地图综合应用8-地图交互

    一.前言 最常用的地图交互就几个,比如鼠标在地图上按下的时候可以拾取经纬度坐标,然后传给Qt程序,再比如对设置的设备点进行单击的时候,通知Qt程序单击了哪一个设备点,好让Qt程序识别并作出反应比如弹出 ...

  6. [转]解决Spring Data Jpa 实体类自动创建数据库表失败问题

    先说一下我遇到的这个问题,首先我是通过maven创建了一个spring boot的工程,引入了Spring data jpa,结果实体类创建好之后,运行工程却没有在数据库中自动创建数据表. 找了半天发 ...

  7. [转]CSS、LESS和SASS(SCSS)的区别以及Ruby Sass、LibSass、Node Sass、Dart Sass之间的关系

    随着前端开发的不断发展,CSS也逐渐延伸出了很多新的语言,less和Sass就是其中两种,下面我们就一起来看看它们到底有何区别. SASS和LESS SASS(英文全称:Syntactically A ...

  8. [转]vue项目启动时,npm run serve 和 npm run dev 的区别

    npm run serve 和 npm run dev 的区别 在我们运行一些 vue 项目的时候,输入npm run serve或者 npm run dev的其中一个时,系统会报错: PS C:\U ...

  9. pdf文件内容分析工具简介(研究pdf标准好帮手)

    前言:PDF文件标准诞生于20年前,从今天的视角来看,标准设计理念有些过时了:然而,pdf文件生态已经形成,尾大不掉吧.纵然有各种缺点,但是不可否认的事实:pdf是当今应用最广泛的版式文件. pdf文 ...

  10. 字体查看比较工具 -- (采用wpf开发)

    为了进一步加深对字体文件的理解,我写了这个小工具.可以查看字体文件信息.显示字体文件包含的字体.可以从字体文件中抽取字体,保存为其子集. 加入qq群:565438497,下载最新程序. 1 显示字体文 ...