LeetCode || 二叉树的最小深度
2019-03-25 17:09
260 查看
自己写的
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { int count = 0; public int minDepth(TreeNode root) { if(root == null){ return 0; }else if(root.left == null && root.right == null){ return count; } count = Math.min(minDepth(root.left),minDepth(root.right))+1; return count; } }
正确的
空树,最小深度为0
左右子树都为空,最小深度为1
左右子树不都为空,左右子树中有空树的情况,最小深度一定是在非空树中产生,因为最小深度定义为到最近叶子节点的深度。一旦左右子树有空的情况,这边的深度就可以置为正无穷,表示最小深度不可能再这里产生。然后分别计算左右子树的最小深度,使用递归策略。
原文:https://www.geek-share.com/detail/2705046669.html
public int minDepth(TreeNode root) { if (root == null) return 0; if (root.left == null && root.right == null) return 1; int left, right; if (root.left != null) left = minDepth(root.left); else left = Integer.MAX_VALUE; if (root.right != null) right = minDepth(root.right); else right = Integer.MAX_VALUE; return Math.min(left, right) + 1; }
相关文章推荐
- [LeetCode] 111. Minimum Depth of Binary Tree 二叉树的最小深度
- [Leetcode] The minimum depth of binary tree二叉树的最小深度
- Leetcode 111. Minimum Depth of Binary Tree 二叉树最小深度
- LeetCode—二叉树的最大最小深度
- 【leetcode】Minimum Depth of Binary Tree 二叉树的最小深度 (JAVA)
- 【LeetCode】Minimum Depth of Binary Tree 二叉树的最小深度 java
- LeetCode:寻找二叉树的最小深度
- LeetCode Minimum Depth of Binary Tree 最小深度二叉树
- [LeetCode] Minimum Depth of Binary Tree 二叉树最小深度
- [Leetcode] 104. 二叉树的最大深度与111. 二叉树的最小深度 java
- LeetCode 二叉树的最小深度
- leetcode 二叉树的最小深度
- 利用python 完成leetcode111 二叉树的最小深度
- 【LeetCode】Minimum Depth Of Binary Tree二叉树的最小深度 - Easy
- leetCode 笔记 ————二叉树最小深度
- LeetCode - 111. 二叉树的最小深度
- 【LeetCode-面试算法经典-Java实现】【111-Minimum Depth of Binary Tree(二叉树的最小深度)】
- LeetCode 111. 二叉树的最小深度
- leetcode 二叉树最小深度
- LeetCode:minimum-depth-of-binary-tree(二叉树最小深度)