maximum_depth_binary_tree

2022-12-14 浏览 (1004)

maximum_depth_binary_tree.py 源码

# 二叉树的最大深度
# https://leetcode-cn.com/problems/maximum-depth-of-binary-tree

class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None


class Solution:

    # 递归的方式
    def maxDepth(self, root: TreeNode) -> int:
        return 0 if not root else max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1

    # 广度优先遍历的方式
    def maxDepth_2(self, root: TreeNode) -> int:
        if not root:
            return 0
        queue, level = [root], 0
        while len(queue) > 0:
            n = len(queue)
            for i in range(n):
                node = queue.pop(0)
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
            level += 1
        return level

你可能感兴趣的文章

average_levels_binary_tree

binary_tree_inorder_traversal

binary_tree_level_order_traversal

  • 所属分类: 后端技术
  • 本文标签: 技术
  • 版权声明: 本文链接 https://seaxiang.com/blog/f9542a9a24ba4c26a437f63c27785943