LeetCode107. 二叉树的层序遍历 II
同102,用一个栈反向输出
102. 二叉树的层序遍历
代码:
class Solution {
public:
vector<vector<int>> levelOrderBottom(TreeNode* root) {
vector<vector<int>> ans;
stack<vector<int>> help;
if (!root)return ans;
queue<TreeNode*>q;
q.push(root);
while (!q.empty()) {
vector<int> tmp;
int size = q.size();
for (int i = 0; i < size; i++) {
TreeNode* p = q.front(); q.pop();
if (p) {
tmp.push_back(p->val);
q.push(p->left);
q.push(p->right);
}
}
if (!tmp.empty())help.push(tmp);
}
while (!help.empty()) {
ans.push_back(help.top());
help.pop();
}
return ans;
}
};