Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
Subscribe to see which companies asked this question.
# -*- coding:utf-8 -*-
# leetcode solutions
# 111. Minimum Depth of Binary Tree
# coding by Dennis Lu
# 2017/02/01
# 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 minDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
current_nodes = []
if(root == None): return 0
current_nodes.append(root)
levels = 1
while(1):
next_nodes = []
for i in current_nodes:
if(i.left == None and i.right == None):
return levels
if(i.left != None):
next_nodes.append(i.left)
if(i.right != None):
next_nodes.append(i.right)
current_nodes = next_nodes
levels = levels + 1