题目描述

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

一 . 思维发散

借助这个题目,我想用一个更好理解的方法说一说递归。借助数学上的小括号来更好的理解递归,我做过小学生家教,记得这应该是小学四年级的题目(符号的计算顺序)。直接上图吧。

也许写的不够严谨,但传达的思想没有错,同样采用的是举例法,假设需要递归的函数是法 f(),递归一次就在相应的位置插上一个f(),全部搞定后就变成一个如上图所示的那个了,接下来就是计算顺序咯,不会的话,看一看小学四年级数学,应该会有帮助。

二 . 代码实现

class Solution
{
public int TreeDepth(TreeNode pRoot)
{
// write code here
//鲁棒判断
if (pRoot == null)
{
return ;
}
//左右递归
int left = TreeDepth(pRoot.left);
int right = TreeDepth(pRoot.right);
//加一运算
return System.Math.Max(left,right)+;
}
}

最新文章

  1. .net 将List序列化成Json字符串
  2. ipsec IP安全策略操作 win7
  3. 模拟placeholder支持ie8以下处理了密码框只读的问题
  4. zabbix 微信报警
  5. Python入门笔记(25):Python面向对象(2)
  6. Python easy_install
  7. 关于java.lang.NullPointerException: Module 'null' not found.的问题
  8. 关于ThinkPHP控制器的方法失效的问题
  9. 转:python中函数curry化
  10. oschina娱乐游戏
  11. CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别
  12. caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记
  13. 第十三届东北师范大学程序设计竞赛热身赛 C(exgcd+欧拉函数)
  14. github下载项目代码到本地,不能运行 本地改完代码 再上传
  15. BigDecimal用法总结
  16. Tensorflow张量
  17. C# Invoke方法
  18. 雷林鹏分享:XML 实例
  19. 6、申请发布(Distribution)证书和描述文件
  20. UVa 1603 破坏正方形

热门文章

  1. Java对象 的创建与构造方法
  2. POJ题目算法分类总结博客地址
  3. shell之起步
  4. 分享知识-快乐自己:Oracle 创建序列 及 使用序列
  5. 团队作业第5周——测试与发布(Alpha版本)
  6. listen 66
  7. C++中两个类相互包含引用问题
  8. Visual Studio 2012 与此版本的 Windows 不兼容 解决
  9. <opengl>使用glu绘制二次曲面
  10. ubuntu关闭cups服务