【剑指offer-解题系列(60)】按之字形顺序打印二叉树
来源:互联网 发布:数据稀疏问题 编辑:程序博客网 时间:2024/06/04 19:44
题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
分析
原本使用一个队列可以实现,
现在换成一个堆栈+vector+sign
代码实现
vector<vector<int> > Print(TreeNode* root) {
vector<vector<int> >res;
if(!root)
return res;
TreeNode*p=NULL;
S.push(root);
bool sign = false;
while(!S.empty()){
vector<TreeNode*>r;vector<int>rv;
while(!S.empty()){
p = S.top();
r.push_back(p);
rv.push_back(p->val);
S.pop();
}
for(int i=0;i<r.size();i++){
p=r[i];
if(sign){
if(p->right ) S.push(p->right );
if(p->left) S.push(p->left);
}
else{
if(p->left) S.push(p->left);
if(p->right ) S.push(p->right );
}
}
sign=!sign;
if(!rv.empty())res.push_back(rv);
}
return res;
}
stack<TreeNode*>S;
- 【剑指offer-解题系列(60)】按之字形顺序打印二叉树
- 剑指offer(56)-按之字形顺序打印二叉树
- 剑指offer--按之字形顺序打印二叉树
- 《剑指offer》按之字形顺序打印二叉树
- 剑指offer—按之字形顺序打印二叉树
- 《剑指offer》——按之字形顺序打印二叉树
- 剑指offer:按之字形顺序打印二叉树
- 剑指offer:按之字形顺序打印二叉树
- [剑指offer]按之字形顺序打印二叉树
- 剑指offer(五十三)之按之字形顺序打印二叉树
- 剑指Offer--061-按之字形顺序打印二叉树
- 《剑指offer》:[61]按之字形顺序打印二叉树
- 剑指offer——按之字形顺序打印二叉树
- 剑指offer|按之字形顺序打印二叉树
- 剑指offer-按之字形顺序打印二叉树
- 剑指offer-----按之字形顺序打印二叉树(java版)
- 【剑指Offer】按之字形顺序打印二叉树
- 剑指offer-按之字形顺序打印二叉树-php
- HTML--文本标签/marquee/bgsound/列表标签/超链接标签/img 图像标签/转义字符/表格标签/表单提交/框架标签
- Spring Boot实战学习笔记1
- Android 的toolbar设置返回事件
- CSS3 box-sizing 属性content-box或border-box
- 算法设计与应用基础系列11
- 【剑指offer-解题系列(60)】按之字形顺序打印二叉树
- 手机端访问第三方java服务器后判断是否进行OAuth2.0网页微信公众号授权认证
- 133. Clone Graph
- 我想学编程——向所有想学编程的人推荐《啊哈c语言》
- 微信开发之外网映射工具
- echarts 图表可配置展示功能 word 功能描述
- 什么是 值传递,地址传递和引用传递 有什么区别
- PHP如何调用Delphi开发的DataSnap/Restful接口服务
- Markdown--从入门到精通