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

把二叉树打印成多行

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

struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution {
public:
        vector<vector<int> > Print(TreeNode* pRoot) {
        vector<vector<int> >ret;
        if(!pRoot)return ret;
            queue<TreeNode*>q;
            q.push(pRoot);//bfs
            while(!q.empty()){
                int n=q.size();
                vector<int>temp;
                for(int i=0;i<n;i++){//可以一层一层遍历
                    TreeNode* treenode=q.front();
                    temp.push_back(treenode->val);
                    q.pop();
                    if(treenode->left)
                    q.push(treenode->left);
                    if(treenode->right)
                    q.push(treenode->right);
                }
                ret.push_back(temp);
            }
            return ret;
        }
    
};
全部评论

相关推荐

06-23 17:45
门头沟学院 Java
里面的项目啥的真的有用吗?&nbsp;这些人是割韭菜吗?
HellowordX:很简单,如果你有自己稳定的学习路线和获取知识的方式就没必要,如果你啥都不懂的小白或者里边有你感兴趣的知识,我觉得挺值,我也经常为知识付费,因为时间精力有限,很多东西我不可能自己重复造轮子
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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