[LeetCode] 111. Minimum Depth of Binary Tree_Easy tag:DFS
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.
Note: A leaf is a node with no children.
Example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its minimum depth = 2.
2018/0813 update: 不能直接用l or r, 因为我们要先选小的, 如果小的是空, 然后才需要去判断那个大的. 所以需要min 及max, 而且min应该在前面.
思路为DFS recursive, 但是需要注意的是, 比如[1,2] 应该return 2, 但是上面知会return 1. 所以需要return min(l,r) or max(l, r), 因为有一边有, 另一边没有的时候要返回有的.
2020/0509 update: 直接用BFS,碰到第一个leaf,return当时的height即可。
1. Constraints
1) can be none => 0
2. Ideas
BFS T: O(n) S: O(n)
DFS recursive T: O(n) S: O(n)
3, Code
class Solution:
def minDepth(self, root):
if not root: return 0
l, r = self.minDepth(root.left), self.minDepth(root.right)
return 1+ (min(l, r) or max(l, r))
=> more elegant
class Solution:
def minDepth(self, root):
if not root: return 0
d = map(self.minDepth, (root.left, root.right))
return 1 + (min(d) or max(d))
利用BFS
class Solution:
def miniDepth(self, root):
if not root: return 0
queue = collections.deque([(root, 1)])
while queue:
node, height = queue.popleft()
if not node.left and not node.right:
return height
if node.left:
queue.append((node.left, height + 1))
if node.right:
queue.append((node.right, height + 1))
4. Test cases
1) [1,2]
2) [3,9,20,null,null,15,7]
[LeetCode] 111. Minimum Depth of Binary Tree_Easy tag:DFS的更多相关文章
- [LeetCode] 104. Maximum Depth of Binary Tree_Easy tag: DFS
		
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
 - [LeetCode] 111. Minimum Depth of Binary Tree ☆(二叉树的最小深度)
		
[Leetcode] Maximum and Minimum Depth of Binary Tree 二叉树的最小最大深度 (最小有3种解法) 描述 解析 递归深度优先搜索 当求最大深度时,我们只要 ...
 - [LeetCode] 111. Minimum Depth of Binary Tree 二叉树的最小深度
		
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
 - LeetCode 111. Minimum Depth of Binary Tree (二叉树最小的深度)
		
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
 - leetcode 111 minimum depth of binary tree
		
problem description: Given a binary tree, find its minimum depth. The minimum depth is the number of ...
 - leetcode 111  Minimum Depth of Binary Tree   ----- java
		
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
 - Java [Leetcode 111]Minimum Depth of Binary Tree
		
题目描述: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along th ...
 - (二叉树 BFS DFS) leetcode 111. Minimum Depth of Binary Tree
		
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
 - Java for LeetCode 111 Minimum Depth of Binary Tree
		
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
 
随机推荐
- 查看,设置,设备的 竖屏-横屏模式 screen.orientation
			
<body> <div id="doc"></div> <div id="model"></div> ...
 - javascript parseUrl函数(来自国外的获取网址url参数)
			
function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, pr ...
 - 怎样将M4A音频格式转换成MP3格式
			
因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤 ...
 - 计蒜客 31434 - 广场车神 - [DP+前缀和]
			
题目链接:https://nanti.jisuanke.com/t/31434 小 D 是一位著名的车手,他热衷于在广场上飙车.每年儿童节过后,小 D 都会在广场上举行一场别样的车技大赛. 小 D 所 ...
 - 深度学习模型stacking模型融合python代码,看了你就会使
			
话不多说,直接上代码 def stacking_first(train, train_y, test): savepath = './stack_op{}_dt{}_tfidf{}/'.format( ...
 - [Day3]Scanner类、Random类、流程控制语句
			
1.Scanner类 (1)Scanner类属于引用数据类型 数据类型 变量名=new 数据类型(); (2)每种引用类型都有自己的功能 变量.功能名(); (3)Scanner类是引用数据类型的一种 ...
 - MiniHook研究
			
git hub 地址: https://github.com/RaMMicHaeL/minhook
 - scrollView截取指定区域的图片
			
把scrollView放到一个容器里面,再截图就可以了 scrollview放到容器: UIView *lunboCarrier = [[UIView alloc] initWithFrame:CGR ...
 - js的序列化和反序列化
			
(1)序列化 即js中的Object转化为字符串 1.使用toJSONString var last=obj.toJSONString(); //将JSON对象转化为JSON字符 2.使用strin ...
 - pyhton 爬虫爬去吾爱精品软件的信息并写入excel
			
2018的最后一天了,感觉今年有得有失,这里就不再浪费时间了,愿2019万事如意 之前的爬虫信息下载后只写入txt文档,想到了以后工作加入有特殊需求,趁放假有时间将这写数据写入excel表格 以吾爱精 ...