按之字形打印二叉树
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;
;
以上是关于按之字形打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章