Why Timeout is occurring.... it O(N) only...Anyone knows how to do it using 1 queue only ?

```
vector<vector<int> > levelOrder(TreeNode *root)
{
vector<vector<int> >v;
vector<int> level;
queue<TreeNode *> parent, curr, empty;
if(!root)
return v;
curr.push(root);
while(!curr.empty())
{
swap(parent, curr);
swap(curr, empty);
while(!parent.empty())
{
TreeNode * temp = parent.front();
parent.pop();
level.push_back(temp->val);
if(temp->left!=NULL)
curr.push(temp->left);
if(temp->right !=NULL)
curr.push(temp->right);
}
v.push_back(level);
}
return v;
}
```