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
本文详细解析了LeetCode上的一道经典算法题:寻找二叉树的最小深度。通过递归遍历的方式,算法能够找到从根节点到最近叶节点的最短路径,即最小深度。文章提供了一个Python实现的示例代码,并解释了其工作原理。
449

被折叠的 条评论
为什么被折叠?



