剑指offer 牛客网 二叉树的深度

# -*- coding: utf-8 -*-
"""
Created on Wed Apr 10 09:29:36 2019@author: Administrator
题目:
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)
形成树的一条路径,最长路径的长度为树的深度。
思路:采用递归的思路,遍历到子节点,再返回,返回期间计数值加1,再递归
"""# -*- coding:utf-8 -*-
class TreeNode:def __init__(self, x):self.val = xself.left = Noneself.right = None
class Solution:def TreeDepth(self, pRoot):# write code hereif not pRoot:                       #如果空节点就返回0return 0#若为叶子节点就返回1if pRoot and not pRoot.left and not pRoot.right:    return 1left = self.TreeDepth(pRoot.left)   #开始遍历左子树left += 1                           #遍历后计数加1right = self.TreeDepth(pRoot.right) #开始遍历右子树right += 1                          #遍历后计数加1return max(left,right)              #最终返回其最大的值if __name__ == '__main__':solution = Solution()#1 2 3 4 5 6 7 8node = TreeNode(8)node_left = TreeNode(1)node_right = TreeNode(3)node_left.left = noderoot_left = TreeNode(2)root_left.left = node_leftroot_left.right = node_rightnode_left = TreeNode(5)node_right = TreeNode(7)root_right = TreeNode(6)root = TreeNode(4)root.left = root_leftroot_right.left = node_leftroot_right.right = node_rightroot.right = root_rightdepth = solution.TreeDepth(root)print('depth: ',depth)  #depth:  4

转载于:https://www.cnblogs.com/missidiot/p/10681510.html

剑指offer 二叉树的深度相关推荐

  1. [剑指Offer]-二叉树的深度

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

  2. C#刷剑指Offer | 二叉树中和为某一值的路径

    [C#刷题]| 作者 / Edison Zhou 这是EdisonTalk的第292篇原创内容 我们来用之前学到的数据结构知识来刷<剑指Offer>的一些核心题目(精选了其中30+道题目) ...

  3. 求二叉树上结点的路径_剑指offer 二叉树

    二叉树的镜像(简单) 操作给定的二叉树,将其变换为源二叉树的镜像. 思路: 根节点左右节点调换位置 递归 注意判断空子树情况 二叉树的深度(简单) 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经 ...

  4. 剑指offer55 二叉树的深度 捏软柿子

    快走的时候捏软柿子,现在软柿子捏的越爽,后面硬骨头啃得越难. 嘤嘤嘤(一天最多发十篇,这是昨天的) 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路 ...

  5. 剑指offer: 二叉树中和为某一值的路径

    题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 注意在深度遍历的时候要回退结点 import j ...

  6. 剑指Offer——二叉树的镜像

    题目描述: 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义: 源二叉树 8/ \6 10/ \ / \5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 ...

  7. 剑指offer 二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8/ \6 10/ \ / \5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 5 ...

  8. 力扣剑指offer——二叉树篇

    ✔✨前言

  9. 《剑指offer》内容总结

    (1)剑指Offer--Trie树(字典树) Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是统计和排序大量的字符串(但不仅限于字符串),所以经常 ...

最新文章

  1. 一种准标准CSV格式的介绍和分析以及解析算法
  2. java setdate_java---Set,Date
  3. 机器学习系列(9)_机器学习算法一览(附Python和R代码)
  4. java什么是同步_什么是同步?什么是互斥?
  5. jdk1.8要安装什么mysql_Window下安装JDK1.8+Tomcat9.0.27+Mysql5.7.28的教程图解
  6. mysql 主从_搭建mysql主从并编写监控主从状态脚本
  7. Mybatis中接口和对应的mapper文件位置配置详解
  8. 精通Android自定义View(十七)自定义圆形鸟巢加载转圈效果
  9. 多少秒算长镜头_你了解植保无人机一天到底能够干多少活吗??
  10. iBooker AI+财务提升星球 2020.4 热门讨论
  11. PyTorch 1.0 中文文档:torchvision.datasets
  12. 8月第4周回顾:Delphi2009发布 CCIE增加英文面试
  13. Material-Animations
  14. vscode 打开函数表_效率倍增!10个超级好用的VScode使用技巧!
  15. Mock.java - 二次封装(基于属性结构类型生成测试数据)
  16. 【冷门】十字链表法图解
  17. python_opencv_haze加雾处理
  18. HC05蓝牙模块 修改密码 返回 ERROR:(1D)解决办法
  19. 周凯:如何利用数据挖掘让RTB广告效果倍增?
  20. 3D Slicer 中导入STL文件

热门文章

  1. 《Pytorch - BP全连接神经网络模型》
  2. oppo r9 android7.0,OPPO R9 Plus的手机系统是什么
  3. 二维数组各行求和_数组入门 | 数组的维度和尺寸
  4. springboot发送邮件_SpringBoot发送邮件如何实现,SpringBoot发送邮件详解(附代码)...
  5. C# list集合 重复元素 索引_源码分析专题10-纯手写JDK不同版本下的List接口
  6. Detectron2 win10踩坑记录
  7. leetcode —— 面试题54. 二叉搜索树的第k大节点
  8. leetcode —— 687. 最长同值路径
  9. Virtual.Lab模拟钢板冲击声
  10. 【图像配准】基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法