作者: 负雪明烛
id: fuxuemingzhu
个人博客: http://fuxuemingzhu.cn/


题目地址:https://www.nowcoder.com/ta/coding-interviews

题目描述

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

解题方法

找到左右子树最大深度+1即可,递归的终止条件是空节点的深度是0。

Python代码:

# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def TreeDepth(self, pRoot):
if not pRoot: return 0
left = self.TreeDepth(pRoot.left)
right = self.TreeDepth(pRoot.right)
return max(left, right) + 1

C++代码如下:

/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
int TreeDepth(TreeNode* pRoot)
{
if (!pRoot) return 0;
return max(TreeDepth(pRoot->left), TreeDepth(pRoot->right)) + 1;
}
};

日期

2018 年 3 月 24 日 —— 周六,校园里很多正在拍毕业照的研三学生~~
2019 年 3 月 7 日 —— 3月开始,春天到了

最新文章

  1. SQL转换时间的时分
  2. python中字典的使用
  3. 百度地图JavaScript API覆盖物旋转时出现偏移
  4. ADT开发AndroidManifest.xml file missing错误
  5. C# Math
  6. UIViewController卸载过程(ios6.0以后)
  7. centos6.4搭建knowlededgeroot-1.0.4知识库平台
  8. POJ——3984
  9. php中的NOTICE 的错误解决方法
  10. 在Wince模拟器接入网络的方法
  11. CSS hank
  12. FORTH基本堆栈操作
  13. 基于element ui的级联选择器组件实现的分类后台接口
  14. 044 SimpleDateFormat的线程安全问题与解决方案
  15. mybits根据表自动生成 java类和mapper 文件
  16. 利用python脚本(xpath)抓取数据
  17. ES6 Iterator
  18. CentOS7安装配置Bacular
  19. innodb 表锁和行锁
  20. shell_exec() has been disabled for security reasons错误怎么解决?

热门文章

  1. 阿里云ECS磁盘性能测试
  2. Spring Security 基于URL的权限判断
  3. act
  4. 【leetcode】1293 .Shortest Path in a Grid with Obstacles
  5. 集合类——Map集合、Properties属性文件操作
  6. String.split()与StringUtils.split()的区别
  7. 重量级&轻量级
  8. 【Linux】【Services】【Web】Haproxy
  9. 阿里巴巴Java开发手册摘要(一)
  10. 『与善仁』Appium基础 — 20、Appium元素定位