Python3实现二叉树的最大深度
2019-09-30 14:11
1371 查看
问题提出:
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
解决思路:递归法求解。从根结点向下遍历,每遍历到子节点depth+1。
代码实现( ̄▽ ̄):
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def maxDepth(self, root: TreeNode) -> int: if root==None: return 0 count = self.getDepth(root,0) return count def getDepth(self,node,count): if node!=None: num1 = self.getDepth(node.left,count+1); num2 = self.getDepth(node.right,count+1); num = num1 if num1>num2 else num2 return num else: return count
时间和空间消耗:
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- 二叉树的最大深度--python实现
- Python实现二叉树的最小深度的两种方法
- python深度优先算法——二叉树、小偷问题、二叉树中的最大路径和、最大的岛屿实现实例
- leetcode-腾讯精选练习(50 题)python #104 二叉树的最大深度
- 【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
- 二叉树的深度[剑指offer]之python实现
- python_lintcode_97二叉树的最大深度 _155二叉树的最小深度
- LeetCode 104. 二叉树的最大深度 (Python3)
- 二叉树的深度优先递归、非递归及广度优先遍历算法的python实现
- Java实现二叉树的先序、中序、后序、层次遍历,数的最大深度、最大宽度
- 二叉树的最大/小深度的递归与非递归实现
- Python实现二叉树的深度
- 利用栈结构实现二叉树的非递归遍历,求二叉树深度、叶子节点数、两个结点的最近公共祖先及二叉树结点的最大距离
- 利用栈结构实现二叉树的非递归遍历,求二叉树深度、叶子节点数、两个结点的最近公共祖先及二叉树结点的最大距离
- 二叉树的最大深度和最小深度实现
- 剑指offer的Python实现之二叉树(3):树的深度
- 二叉树最大深度-层遍历实现
- Python 阶乘的实现和递归的最大深度
- LeetCode--Maximum Depth of Binary Tree (检索二叉树的最大深度)Python
- Leetcode 104 python 二叉树的最大深度