Leetcode每日一题(7)

· ☕ 1 分钟 · 👻 Victor
🏷️
  • #leetcode
  • 111. 二叉树的最小深度

    给定一个二叉树,找出其最小深度。

    最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

    说明: 叶子节点是指没有子节点的节点。

    示例:

    给定二叉树 [3,9,20,null,null,15,7],

        3
       / \
      9  20
        /  \
       15   7
    

    返回它的最小深度 2.

    分析

    使用递归进行解决。

    代码

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    class Solution {
    public:
        int minDepth(TreeNode* root) {
            if(!root) return 0;
            if(root->left == NULL && root->right == NULL) return 1;
            if(root->left == NULL) return 1 + minDepth(root->right);
            if(root->right == NULL) return 1 + minDepth(root->left);
            return min(minDepth(root->left),minDepth(root->right)) + 1;
        }
    };
    
    分享

    redisread
    作者
    Victor
    Full Stack