题意:二叉树的最小深度 注意 1.当root为空的时候直接返回0,因为MIN赋值很大,所以如果不单独预判的话会返回MIN 2.判断树的深度应该到叶子节点,也就是左右子结点都为空的那个结点 3.树的深度的根节点深度为1
class Solution {
public:
void dfs(TreeNode *root,int &MIN,int step)
{
if(root==NULL) return ;
if(root->left==NULL && root->right==NULL)
{
if(MIN>step) MIN=step;
return ;
}
dfs(root->left,MIN,step+1);
dfs(root->right,MIN,step+1);
}
int minDepth(TreeNode *root) {
if(root==NULL) return 0;
int MIN=9999999;
dfs(root,MIN,1);
return MIN;
}
};