层序遍历

class Solution {
public:
        vector<vector<int> > Print(TreeNode* pRoot) {
                vector<vector<int>> res;
                if (!pRoot) return res;
                queue<TreeNode*> q;
                q.push(pRoot);
                while (!q.empty()) {
                int n = q.size();
                vector<int> tmp;
                for (int i = 0; i < n; i++) {
                        if (q.front()->left) q.push(q.front()->left);
                        if (q.front()->right) q.push(q.front()->right);
                        tmp.push_back(q.front()->val);
                        q.pop();
                }
                res.push_back(tmp);
                }
                return res;
                
        }
    
};