题解 | #把二叉树打印成多行#

把二叉树打印成多行

https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288

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

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;
        }  

#把二叉树打印成多行#
剑指offer 文章被收录于专栏

剑指offer专栏主要分享剑指offer题解。

全部评论

相关推荐

牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务