Leetcode 104. 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.
比较简单的数据结构题,使用递归来做。代码如下:
class Solution:
def maxDepth(self, root: TreeNode) -> int:
if(root == None):
return 0
left = self.maxDepth(root.left)
right = self.maxDepth(root.right)
if(left >= right):
return 1 + left
else:
return 1 + right
用数组或者栈来做大概是这样:
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root ==None:
return 0
stk = [root]
depth = 0
while stk:
nextLevel = []
depth+=1
for item in stk:
if item.left:
nextLevel.append(item.left)
if item.right:
nextLevel.append(item.right)
stk = nextLevel
return depth
比较简单,不加详述。