Minimum Depth of Binary Tree
二叉树的最小深度:
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
解答:
原本如果求二叉树的高度的话,直接求两个子树的高度即可。但此时求二叉树的最小深度的话,应该要求
两个子树当中深度较低的一个,但是需要考虑的特殊情况是子树为空树,此时其不是叶子节点,则其不能拿来
用作计算深度的节点。
代码如下:
class Solution { public: int minDepth(TreeNode* root) { if(root==nullptr) return 0; int lheight=minDepth(root->left); int rheight=minDepth(root->right); //两个子树当中深度较小的 if(lheight&&rheight) return min(lheight,rheight)+1; else if(lheight==0) return rheight+1; else return lheight+1; } };

浙公网安备 33010602011771号