1.给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)
2.将每一层得数据都存到队列中
3./**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
/**
* @param root: The root of binary tree.
* @return: Level order a list of lists of integer
*/
public:
std::vector<vector<int>>binary;
std::vector<int>binary2;
vector<vector<int>> levelOrder(TreeNode *root) {
// write your code here
queue<TreeNode*> aqueue;
TreeNode*pointer=root;
if(root==NULL)return binary;
if(pointer) aqueue.push(pointer);int length=1;
while(!aqueue.empty())//队列非空返回0
{
length=aqueue.size();
while(length--)
{
pointer=aqueue.front();
aqueue.pop();
binary2.push_back(pointer->val);
if(pointer->left)
aqueue.push(pointer->left);
if(pointer->right)
aqueue.push(pointer->right);
}
binary.push_back(binary2);
binary2.clear();
}
return binary;
}
};
4.本来以为能和前面三个遍历差不多呢.结果.....百度的.还是有点看不明白.
.