struct TreeNode
{
TreeNode(int _val):val(_val){}
TreeNode *left;
TreeNode *right;
private:
int val;
}
void reverse(TreeNode *root)
{
if(!root)
return;
queue<TreeNode *> q;
q.push(root);
TreeNode *p,*tmp;
while(!q.empty()){
p=q.front();
q.pop();
tmp=p->left;
p->left=p->right;
p->right=tmp;
if(p->left)
q.push(p->left);
if(p->right)
q.push(p->right);
}
}