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

网友投稿 259 2022-08-28

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

请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推

/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector > Print(TreeNode* pRoot) { vector>res; if(pRoot==NULL)return res; queuerecord; record.push(pRoot); bool flag=false; while(!record.empty()) { int n=record.size(); vectortmp; while(n--) { TreeNode* node=record.front(); record.pop(); tmp.push_back(node->val); if(node->left!=NULL) record.push(node->left); if(node->right!=NULL) record.push(node->right); } if(flag==true)reverse(tmp.begin(),tmp.end()); res.push_back(tmp); flag=!flag; } return res; } };

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:剑指offer--两个链表的第一个公共结点
下一篇:男艺人弹性爱国、营销恩爱夫妻!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~