104. Maximum Depth of Binary Tree
https://leetcode.com/problems/maximum-depth-of-binary-tree/
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Note: A leaf is a node with no children.
图算法
算法一: 用递归 DFS 深度优先搜索
算法二: BFS 广度优先搜索
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root==None: return 0
return max(self.maxDepth(root.left),self.maxDepth(root.right)) + 1
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
print([False])
depth = 0
level = [root] if root else []
while level:
depth += 1
queue = []
for el in level:
if el.left:
queue.append(el.left)
if el.right:
queue.append(el.right)
level = queue
return depth
Leetcode快捷键:
RunCode: Ctrl + ‘
Submit: Ctrl + Enter
请多多指教。
文章标题:104. Maximum Depth of Binary Tree
本文作者:顺强
发布时间:2019-11-18, 23:59:00
原始链接:http://shunqiang.ml/leetcode-104-leetcode/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。