题目
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};
*/
class Solution {
public:
vector<vector<int>> ans;
vector<vector<int>> Print(TreeNode *pRoot) {
if (pRoot == nullptr) return ans;
queue<TreeNode *> queue;
queue.push(pRoot);
while (!queue.empty()) {
int size = queue.size();
vector<int> tmp;
for (int i = 0; i < size; i++) {
TreeNode *front = queue.front();
tmp.push_back(front->val);
queue.pop();
if (i == size - 1) {
ans.push_back(tmp);
}
if (front->left) {
queue.push(front->left);
}
if(front->right) {
queue.push(front->right);
}
}
}
return ans;
}
};