考察点
- 广度优先遍历--层次遍历
- 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(); } } };
时间: 2024-08-25 10:02:39