这就是层序遍历算法,只是需要将值扔进容器中
利用队列的特点,将二叉树每层的值一词扔进队列中,在将子树扔进队列的同时,拿出当前节点的值,即可保证层序遍历
/**
-
Definition for a binary tree node.
-
struct TreeNode {
-
int val;
-
TreeNode *left;
-
TreeNode *right;
-
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
-
};
/
class Solution {
public:
vector<vector> levelOrder(TreeNode root)
{
vector<vector>cc;
if(root==NULL)return cc;
queue<TreeNode*>que;
que.push(root);
while(!que.empty())
{
vectorc;
int size=que.size();
for(;size–; que.pop())
{
TreeNode* node=que.front();
c.push_back(node->val);
if(node->left)que.push(node->left);
if(node->right)que.push(node->right);} cc.push_back(c);
}
return cc;
}
};