class Solution {
public:
vector<vector<int>> levelOrderBottom(TreeNode* root) {
if(!root) return {};
// deque
deque<TreeNode*> q;
vector<vector<int>> ans;
q.push_back(root);
int deep = 0;
while(!q.empty()){
int size = q.size();
// init
ans.push_back({});
while(size--) {
TreeNode* n = q.front();q.pop_front();
ans[deep].push_back(n->val);
// none
if(n->left) q.push_back(n->left);
if(n->right) q.push_back(n->right);
}
deep++;
}
reverse(ans.begin(),ans.end());
return ans;
}
};
网友评论