二叉树的最小深度

    科技2022-07-11  104

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

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

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

    示例:

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

    3

    / 9 20 / 15 7 返回它的最小深度 2.

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路:深度优先算法。

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int minDepth(TreeNode* root) { if(root==nullptr) return 0; if(root->left==nullptr&&root->right==nullptr) return 1; int minDep=INT_MAX; if(root->left!=nullptr){ minDep=min(minDepth(root->left),minDep); } if(root->right!=nullptr){ minDep=min(minDepth(root->right),minDep); } return minDep+1;返回最小的页子节点数 } };
    Processed: 0.057, SQL: 8