题目
/*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; }};