按之字形打印二叉树

Posted _BitterSweet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按之字形打印二叉树相关的知识,希望对你有一定的参考价值。

/*
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* root) 
    
        queue<TreeNode*> que;
        vector<vector<int>> res;
        if(root != nullptr) que.push(root);
        int level = 0;
        while(!que.empty())
        
            int size = que.size();
            vector<int> vec;
            for(int i = 0; i < size; i++)
            
                TreeNode* node = que.front();
                que.pop();
                vec.push_back(node -> val);
                if(node -> left) que.push(node -> left);
                if(node -> right) que.push(node -> right);
            
            ++level;
            if(level % 2 == 0) 
                reverse(vec.begin(),vec.end());
            res.push_back(vec);
        
        return res;
        
    
    
;

以上是关于按之字形打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章

NC14 按之字形顺序打印二叉树

剑指OFFER 按之字形顺序打印二叉树

按之字形顺序打印二叉树

按之字形顺序打印二叉树

按之字形顺序打印二叉树

按之字形顺序打印二叉树