题意:求二叉树的最小深度。
题解:递归求解。最小深度等于1 + 左子树的最小深度 和 右子树的最小深度的最小值。
class Solution {
public:
int minDepth(TreeNode* root) {
if(root == NULL) return 0;
if(root->left == NULL && root->right == NULL) return 1;
int l = 0x7fffffff;
int r = 0x7fffffff;
if(root->left != NULL) l = minDepth(root->left);
if(root->right != NULL) r = minDepth(root->right);
return min(l,r) + 1;
}
};