代码
class Solution
{
public:
vector<vector<int> > levelOrder(TreeNode *root)
{
vector<vector<int> > result;
if(root==NULL)
return result;
queue<TreeNode*> queue_pop, queue_push;
queue_pop.push(root);
vector<int> level;
while(!queue_pop.empty())
{
TreeNode *tempNode;
tempNode = queue_pop.front();
level.push_back(tempNode->val);
queue_pop.pop();
if(tempNode->left)
queue_push.push(tempNode->left);
if(tempNode->right)
queue_push.push(tempNode->right);
if(queue_pop.empty())
{
result.push_back(level);
level.clear();
swap(queue_push, queue_pop);
}
}
return result;
}
};