把二叉树打印成多行

把二叉树打印成多行_牛客网

https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&tqId=11213&tPage=3&rp=3&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking

/*
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>> res;
            if(!pRoot) return res;
            queue<TreeNode*> p;
            p.push(pRoot);
            while(!p.empty()){
                int i=0,n=p.size();
                vector<int> val;
                while(i++<n){
                    TreeNode* q=p.front();
                    p.pop();
                    val.push_back(q->val);
                    if(q->left) p.push(q->left);
                    if(q->right) p.push(q->right);
                }
                res.push_back(val);
            }
            return res;
        
        }
    
};

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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