int min(int a,int b){ return a<b?a:b; } int minDepth(struct TreeNode* root){ if(root==NULL){ return 0; } if(root->right==NULL){ //右边为空的时候 return 1+minDepth(root->left); } if(root->left==NULL){ //左边为空的时候 return 1+minDepth(root->right); } // 1 + min (左 右) 选取最短 return 1+min(minDepth(root->right),minDepth(root->left)); } |