#include<queue>
class Solution {
public:
typedef TreeNode *tree;//define tree类型
int run(TreeNode *root) {
if(root==0)return 0;
queue<tree>qu;
qu.push(root);
int layer=0;
while(!qu.empty()){
int size=qu.size();
layer++;
for(int i=0;i<size;i++){
tree p=qu.front();
qu.pop();//return 1/0
if(p->left==nullptr&&p->right==nullptr)
return layer;
if(p->left!=nullptr)
qu.push(p->left);
if(p->right!=nullptr){
qu.push(p->right);
}
}
}
return 0;
}
};