leetcode第1题(minimum-depth-of-binary-tree)
2018-01-12 15:01
417 查看
题目: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.
思路:采用递归的思想,需要注意的是最小深度与最大深度的区别:对于最大深度,不需要考虑当前子树是否为单子树(即一侧子树深度为0)的情况,即最大深度一直等于左右子树的最大值;对于最小深度,需要考虑当前子树是否为单子树的情况,对于双子树,其最小深度为左右子树的最小值,对于单子树,其最小深度为左右深度的最大值(因为有一侧的子树为0)。代码中加1的原因是加上根节点这一层。
代码:
node.
思路:采用递归的思想,需要注意的是最小深度与最大深度的区别:对于最大深度,不需要考虑当前子树是否为单子树(即一侧子树深度为0)的情况,即最大深度一直等于左右子树的最大值;对于最小深度,需要考虑当前子树是否为单子树的情况,对于双子树,其最小深度为左右子树的最小值,对于单子树,其最小深度为左右深度的最大值(因为有一侧的子树为0)。代码中加1的原因是加上根节点这一层。
代码:
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public int run(TreeNode root) { if(root == null){ return 0; } if(root.left == null && root.right == null){ return 1; } if(root.left == null){ return run(root.right)+1; } if(root.right == null){ return run(root.left)+1; } if( root.left != null && root.right != null){ int leftDepth = run(root.left)+1; int rightDepth = run(root.right)+1; return (leftDepth>rightDepth)?rightDepth:leftDepth; } return 0; } }
相关文章推荐
- Leetcode: Minimum Depth of Binary Tree
- minimum-depth-of-binary-tree--《LeetCode》
- leetcode_c++:树: Minimum Depth of Binary Tree(111)
- LeetCode Minimum Depth of Binary Tree
- [Leetcode][JAVA] Minimum Depth of Binary Tree && Balanced Binary Tree && Maximum Depth of Binary Tree
- LeetCode--minimum-depth-of-binary-tree
- Leetcode: Minimum Depth of Binary Tree 理解分析
- 【leetcode】Minimum Depth of Binary Tree
- leetcode 111 —— Minimum Depth of Binary Tree
- leetcode -- Minimum Depth of Binary Tree
- leetcode-Minimum Depth of Binary Tree
- Minimum Depth of Binary Tree ---LeetCode
- leetcode Minimum&&Max Depth of Binary Tree 求树的最小&&最大深度
- Leetcode[111]-Minimum Depth of Binary Tree
- LeetCode - Minimum Depth of Binary Tree
- [LeetCode] Minimum Depth of Binary Tree
- LeetCode:minimum-depth-of-binary-tree(二叉树最小深度)
- [leetcode] Minimum Depth of Binary Tree
- leetcode 日经贴,Cpp code -Minimum Depth of Binary Tree
- LeetCode#111 Minimum Depth of Binary Tree