1 解题思想
找出一个二叉树的最矮的(深度最小)的那个值。
方法很简单,直接遍历,Easy难度
2 原题
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.
3 AC解
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
/**
* 直接遍历就好,并且如果当前搜索的长度大于当前最小值,就不往下走了
* */
public class Solution {
int min;
public void dfs(int deep,TreeNode root){
if(deep>=min || root==null)
return ;
deep++;
if(root.left==null && root.right==null){
min=Math.min(deep,min);
}
dfs(deep,root.left);
dfs(deep,root.right);
}
public int minDepth(TreeNode root) {
if(root==null)
return 0;
min=Integer.MAX_VALUE;
dfs(0,root);
return min;
}
}