美文网首页剑指Offer-Python-牛客网
面试题55:二叉树的深度

面试题55:二叉树的深度

作者: 凌霄文强 | 来源:发表于2019-01-16 20:57 被阅读0次

    题目描述

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

    知识点

    二叉树,深度遍历


    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
    

    作者原创,如需转载及其他问题请邮箱联系:lwqiang_chn@163.com
    个人网站:https://www.myqiang.top

    相关文章

      网友评论

        本文标题:面试题55:二叉树的深度

        本文链接:https://www.haomeiwen.com/subject/bnsvdqtx.html