class Solution:
def minDepth(self, root: TreeNode) -> int:
if root is None:
return 0
queue = []
layer = []
cur = root
queue.append(cur)
layer.append(1)
min_layer = 1
cur_layer = 1
while queue:
cur = queue.pop(0)
cur_layer = layer.pop(0)
print(cur.val)
if cur.left is None and cur.right is None:
min_layer = cur_layer
break
if cur.left:
queue.append(cur.left)
layer.append(cur_layer+1)
if cur.right:
queue.append(cur.right)
layer.append(cur_layer+1)
return min_layer
class Solution:
def minDepth(self, root: TreeNode) -> int:
if root is None:
return 0
self.min_dep = 0
def PreOrder(root,layer):
print(root.val)
if root.left is None and root.right is None:
if self.min_dep == 0:
self.min_dep = layer
elif self.min_dep>layer:
self.min_dep=layer
if root.left:
PreOrder(root.left, layer+1)
if root.right:
PreOrder(root.right, layer+1)
PreOrder(root,1)
return self.min_dep