class Solution {
public:
vector<vector<int> > levelOrderBottom(TreeNode *root) {
vector<vector<int>>ans;
if(!root)return ans;
queue<TreeNode*>cur,nex;
cur.push(root);
while(!cur.empty())
{
vector<int>level;
while(!cur.empty())
{
TreeNode*top=cur.front();
cur.pop();
level.push_back(top->val);
if(top->left)nex.push(top->left);
if(top->right)nex.push(top->right);
}
swap(cur,nex);
ans.push_back(level);
}
reverse(ans.begin(),ans.end());
return ans;
}
};
class Solution {
public:
vector<vector<int> > levelOrderBottom(TreeNode *root) {
vector<vector<int>>ans;
if(!root)return ans;
queue<TreeNode*>q;
q.push(root);
while(!q.empty())
{
int size=q.size();
vector<int>temp;
while(size--)
{
TreeNode*top=q.front();
q.pop();
temp.push_back(top->val);
if(top->left)q.push(top->left);
if(top->right)q.push(top->right);
}
ans.push_back(temp);
}
reverse(ans.begin(),ans.end());
return ans;
}
};
网友评论