您的位置:首页 > 编程语言 > C语言/C++

Binary Tree Level Order Traversal II --leetcode C++

2015-06-03 21:43 573 查看
考察点

广度优先遍历--层次遍历

STL内容器的用法

广度优先遍历的时候,首先应该想到的就是借助于队列。还需要在遍历下一层之前保存当前层节点的数量

代码很简单:

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();
}

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: