leetcode做题笔记111. 二叉树的最小深度

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

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

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

思路一:递归

int minDepth(struct TreeNode* root){
    if(!root)return 0;
     int left=minDepth(root->left),right=minDepth(root->right);
        return (left && right) ? 1+fmin(left,right):1+left+right;
}

分析:

本题与求二叉树最大深度的题很像,先判断根节点,再递归看左右子树最小值返回最小深度,由于根节点若在的话至少有一个节点所有最小深度+1

总结:

本题考察二叉树计算深度,利用递归可以解决

你可能感兴趣的:(递归,二叉树,leetcode,笔记,算法)