class Solution {
public:
int minDepth(TreeNode* root) {
if(root == NULL){
return 0;
};
if(root->left == NULL && root->right != NULL){
return 1+minDepth(root->right);
}else if(root->left !=NULL && root->right==NULL){
return 1+minDepth(root->left);
};
return min(minDepth(root->left),minDepth(root->right))+1;
}
};
与找二叉树最大深度基本相同,但注意当某一节点左右子节点其中一个为空时,应将其空节点排除,不参与最小值选取。
最小深度:根节点到叶子节点的最小距离。