#define NUM 10000
int minDepth(struct TreeNode* root){
if(root == NULL)
{
return 0;
}
int front = 0;
int rear = 0;
struct TreeNode *q[NUM];
struct TreeNode *cur;
int depth = 1;
int layerNum = 0;
q[rear++] = root;
while(rear != front)
{
layerNum = rear - front;
for(int i = 0;i < layerNum;i++)
{
cur = q[front++];
if(cur->left == NULL && cur->right == NULL)
{
return depth;
}
if(cur->left != NULL)
{
q[rear++] = cur->left;
}
if(cur->right != NULL)
{
q[rear++] = cur->right;
}
}
depth++;
}
return depth;
}