class Solution:
def minDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root:
if root.left and root.right:
return 1 + min(self.minDepth(root.left), self.minDepth(root.right))
elif root.left:
return 1 + self.minDepth(root.left)
elif root.right:
return 1 + self.minDepth(root.right)
else:
return 1
else:
return 0
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
li = []
if root is None:
return li
queen_li = []
queen_li.append(root)
while len(queen_li) > 0:
temp = []
count = len(queen_li)
for i in range(count):
node = queen_li.pop()
temp.append(node.val)
if node.left is not None:
queen_li.insert(0, node.left)
if node.right is not None:
queen_li.insert(0, node.right)
li.insert(0, temp)
return li