troubleasy

导航

 

题目描述

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

    vector<vector<int> > Print(TreeNode* pRoot) {
           vector<vector<int> > vec;
            if(pRoot == NULL) return vec;
            queue<TreeNode*> q;
            q.push(pRoot);
 
            while(!q.empty())
            {
                int start = 0, end = q.size();
                vector<int> c;
                while(start++ < end)
                {
                    TreeNode *t = q.front();
                    q.pop();
                    c.push_back(t->val);
                    if(t->left) q.push(t->left);
                    if(t->right) q.push(t->right);
                }
                vec.push_back(c);
            }
            return vec;
        }

posted on 2020-05-29 17:06  troubleasy  阅读(90)  评论(0编辑  收藏  举报