题目

    1. /*
    2. struct TreeNode {
    3. int val;
    4. struct TreeNode *left;
    5. struct TreeNode *right;
    6. TreeNode(int x) :
    7. val(x), left(NULL), right(NULL) {
    8. }
    9. };
    10. */
    11. class Solution {
    12. public:
    13. vector<vector<int>> ans;
    14. vector<vector<int>> Print(TreeNode *pRoot) {
    15. if (pRoot == nullptr) return ans;
    16. queue<TreeNode *> queue;
    17. queue.push(pRoot);
    18. while (!queue.empty()) {
    19. int size = queue.size();
    20. vector<int> tmp;
    21. for (int i = 0; i < size; i++) {
    22. TreeNode *front = queue.front();
    23. tmp.push_back(front->val);
    24. queue.pop();
    25. if (i == size - 1) {
    26. ans.push_back(tmp);
    27. }
    28. if (front->left) {
    29. queue.push(front->left);
    30. }
    31. if(front->right) {
    32. queue.push(front->right);
    33. }
    34. }
    35. }
    36. return ans;
    37. }
    38. };