您的位置:首页 > 其它

Binary Tree Level Order Traversal

2015-06-01 21:50 211 查看
class Solution {

public:

vector<vector<int>> levelOrder(TreeNode* root) {

queue<TreeNode*> Q1,Q2;

vector<int>level;

vector<vector<int>>result;

TreeNode* node;

int i=0;

if(root==NULL) return result;

Q1.push(root);

while(!Q1.empty())

{

while(!Q1.empty())

{

node=Q1.front();

level.push_back(node->val);

Q1.pop();

if(node->left!=NULL)

Q2.push(node->left);

if(node->right!=NULL)

Q2.push(node->right);

}

result.push_back(level);

level.clear();

swap(Q2,Q1);

}

return result;

}

};

层序遍历,需要两层循环。 容器可以用vector直接清零。SWAP可以交换队列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: