/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
//和求最大树深度一点不同的是,最小深度一定要经过叶子节点。如果左右子树至少一个为空,则至少一条子路的
//深度为0,不能作为最小深度的一部分(不是叶子节点),此时不需要用Math.min,1+深度不为0的子树即可;如果左右子树
//都存在,此时才用 Math.min。
class Solution {
public int minDepth(TreeNode root) {
if(root==null) return 0;
return (root.left!=null&&root.right!=null)?
Math.min(minDepth(root.left),minDepth(root.right))+1:
minDepth(root.left)+minDepth(root.right)+1;
}
}
leetcode No.111 二叉树的最小深度
最新推荐文章于 2024-04-20 18:05:17 发布