111. 二叉树的最小深度

  • 时间:
  • 浏览:
  • 来源:互联网

在这里插入图片描述
在这里插入图片描述
不是简单的求深度,是对每一条路径求深度,来一个res记录最小的,tmp记录当前深度,当到叶子结点就更新res。
不为空就让当前深度+1,如果不是叶子结点,就递归左右。

class Solution {
public:
    void dfs(TreeNode* root, int tmp){
        if(root == nullptr) return;
        tmp += 1;
        if(root->left == nullptr && root->right == nullptr){
            res = min(res,tmp);
            return;
        }
        dfs(root->left,tmp);
        dfs(root->right,tmp);
    }
    int minDepth(TreeNode* root) {
        if(root == nullptr) return 0;
        dfs(root,0);
        return res;
    }
private:
    int res = INT_MAX;
};

本文链接http://www.dzjqx.cn/news/show-617256.html