美文网首页
2019-09-11[剑指offer-]把二叉树打印成多行

2019-09-11[剑指offer-]把二叉树打印成多行

作者: Coding破耳 | 来源:发表于2019-11-15 22:24 被阅读0次

    题目描述

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

    /*
    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>> tVecVec;
            if(pRoot == NULL)
            {
                return tVecVec;
            }
            
            queue<TreeNode*> que;
            que.push(pRoot);
            while(que.size())
            {
                int length = que.size();
                vector<int> vec;
                for(int i = 0; i < length; ++i)
                {
                    TreeNode* tmp = que.front();
                    vec.push_back(tmp->val);
                    que.pop();
                    if(tmp->left) que.push(tmp->left);
                    if(tmp->right) que.push(tmp->right);
                }
                
                tVecVec.push_back(vec);
                vec.clear();
            }
            
            return tVecVec;
        }
    };
    
    
    

    相关文章

      网友评论

          本文标题:2019-09-11[剑指offer-]把二叉树打印成多行

          本文链接:https://www.haomeiwen.com/subject/yeewyctx.html