首页 > 代码库 > [leetcode] Minimum Depth of Binary Tree ,到叶子节点的最小距离 (python)
[leetcode] Minimum Depth of Binary Tree ,到叶子节点的最小距离 (python)
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.
class Solution: # @param root, a tree node # @return an integer minDep =-1 def minDepth(self, root): if root is None: return 0 self.helper(root,1) return self.minDep # @param dep, 当前为第几层 def helper(self,root,dep): if root.left is None and root.right is None: if self.minDep is -1: self.minDep =dep elif self.minDep >dep: self.minDep =dep if dep >= self.minDep and self.minDep is not -1: return False if root.left is not None: self.helper(root.left,dep+1) if root.right is not None: self.helper(root.right,dep+1)
这题我使用的是DFS,但是我设置了一个minDep的global变量。这个变量储存目前最小的【叶子节点到根的距离】,所以其他分支遍历的时候,检查一下dep(当前距离)是否大于minDep,如果大于或者等于,就结束该分支的遍历。
[leetcode] Minimum Depth of Binary Tree ,到叶子节点的最小距离 (python)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。