标签:
考察点
广度优先遍历的时候,首先应该想到的就是借助于队列。还需要在遍历下一层之前保存当前层节点的数量
代码很简单:
class Solution {
public:
vector<vector<int> > levelOrderBottom(TreeNode* root) {
vector<vector<int> >vec;
if(root==NULL){
return vec;
}
queue <TreeNode *>qu;
qu.push(root);
int count=1;//保存每一层的节点数量
while(!qu.empty()){
vector <int> v;
while(count>=0){
TreeNode *node;
node=qu.front();
qu.pop();
v.push_back(node->val);
count--;
if(node->left!=NULL){
qu.push(node->left);
}
if(node->right!=NULL){
qu.push(node->right);
}
}
vec.insert(vec.begin(),v);
count=qu.size();
}
}
};
Binary Tree Level Order Traversal II --leetcode C++
标签:
原文地址:http://www.cnblogs.com/hitkb/p/4550332.html