Minimum Depth of Binary Tree

题意:二叉树的最小深度
注意   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;
    }
};

  

原文地址:https://www.cnblogs.com/zsboy/p/3887325.html