LC 0111 [E] Minimum Depth of Binary Tree - ALawliet/algorithms GitHub Wiki
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def minDepth(self, root: TreeNode) -> int:
if root is None: return 0
Q = deque()
Q.append(root)
minDepth = 0
while Q:
minDepth += 1
levelSize = len(Q)
for _ in range(levelSize):
node = Q.popleft()
if not node.left and not node.right:
return minDepth
if node.left:
Q.append(node.left)
if node.right:
Q.append(node.right)