题解 | #按之字形顺序打印二叉树#

按之字形顺序打印二叉树

https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
#include <iterator>
#include <vector>
class Solution {
public:
    vector<vector<int> > Print(TreeNode* pRoot) {
        vector<vector<int>> ans;
        vector<int>t;
        if(!pRoot) return ans;
        queue<TreeNode*> Q;
        Q.push(pRoot);
        while(!empty(Q)){
            int size=Q.size();
            while(size--){
                pRoot=Q.front();
                Q.pop();
                t.push_back(pRoot->val);
                if(pRoot->left) Q.push(pRoot->left);
                if(pRoot->right) Q.push(pRoot->right);
            }
            ans.push_back(t);
            t.clear();
        }
        for(int i=0;i<ans.size();i++){
            if(i%2==1) reverse(ans[i].begin(),ans[i].end());
        }
        return ans;
    }
    
};

全部评论

相关推荐

买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
待现的未见之事:起码第一句要把自己的优势说出来吧。比如什么xx本27届学生,随时到岗....
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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