力扣:107.二叉树的层次遍历 II
代码随想录解析
题目:
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
思路:
按层序遍历然后翻转 vector 容器即可。
代码:
class Solution {
public:
vector<vector<int>> levelOrderBottom(TreeNode* root) {
queue<TreeNode*>que;
if(root != nullptr) que.push(root);
vector<vector<int>>result;
while(!que.empty()){
vector<int>v;
int size = que.size();
for(int i = 0; i < size; i++){
TreeNode*node = que.front();
que.pop();
v.push_back(node->val);
if(node->left) que.push(node->left);
if(node->right) que.push(node->right);
}
result.push_back(v);
}
reverse(result.begin(), result.end());
return result;
}
};