把二叉树打印成多行

来源:互联网 发布:热力学计算软件 编辑:程序博客网 时间:2024/05/30 23:42

题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

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

你在逗我吗。。。题目“按之字形顺序打印二叉树”的tmp不用反转不就成了这道题的答案。。。

0 0