点击打开链接
class Solution {
public:
vector<vector<int>> levelOrderBottom(TreeNode* root) {
vector<vector<int>> res;
queue<TreeNode*> Q;
if(root) Q.push(root);
stack<vector<int>> st;
while (!Q.empty()) {
int count = 0;
int levCount = Q.size();
vector<int> levNode;
while (count < levCount) {
TreeNode* curNode = Q.front();
Q.pop();
levNode.push_back(curNode->val);
if(curNode->left) Q.push(curNode->left);
if(curNode->right) Q.push(curNode->right);
count+=1;
}
st.push(levNode);
}
while (!st.empty()) {
res.push_back(st.top());
st.pop();
}
return res;
}
};