把二叉树打印成多行:最直观的想法是,层次遍历,较为简单。

vector<vector<int> > Print(TreeNode* pRoot) {
            vector<vector<int>> res;
            if(!pRoot)
                return res;
            queue<TreeNode*> que;
            vector<int> temp;
            que.push(pRoot);
            while(!que.empty())
            {
                // 注意如果直接在for循环写que.size其是变化的
                int len=que.size();
                temp.clear();
                // 每一层有que.size个元素
                for(int i=0;i<len;i++)
                {
                    TreeNode * cur=que.front();
                    temp.push_back(cur->val);
                    que.pop();
                    if(cur->left)
                        que.push(cur->left);
                    if(cur->right)
                        que.push(cur->right);
                }
                res.push_back(temp);
            }
            return res;
        }