面试题55(二叉树的深度)
题目描述
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
知识点
二叉树,深度遍历
Qiang的思路
想要求二叉树的深度,采用深度优先遍历便可以实现。
找到每个节点的左子树深度和右子树深度,然后选择其中最大深度加1就是以该节点为根的二叉树的深度。
一个节点一个节点的递归下去,当遇到叶子结点时,其深度肯定为0。最终就能得到整个二叉树的深度了。
# -*- coding:utf-8 -*-
# class TreeNode:
#def __init__(self, x):
#self.val = x
#self.left = None
#self.right = None
class Solution:
def TreeDepth(self, pRoot):
# write code here
if pRoot==None:
return 0
l=self.TreeDepth(pRoot.left)
r=self.TreeDepth(pRoot.right)
return max(r,l)+1
【面试题55(二叉树的深度)】作者原创,如需转载及其他问题请邮箱联系:lwqiang_chn@163.com。
个人网站:https://www.myqiang.top。
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 杜月笙的口才
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- 皮夹克
- 解读《摩根集团》(1)
- 绘本与写作
- 蓝桥杯试题
- 麦田社群
- 面对苦难——如何化解