博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Tree Zigzag Level Order Traversal
阅读量:4070 次
发布时间:2019-05-25

本文共 968 字,大约阅读时间需要 3 分钟。

题目解析:这个问题的实质是要我们按成访问二叉树的结点,并返回每层访问的结果,这里要求走Z字,其实就是一行正向一行反向。

/*  the kernel idea is visit a binary search tree in level and   the additional work we have to label the end of one level.*/vector
> zigzagLevelOrder(TreeNode *root) { vector
> re; if(root == NULL) return re; queue
visit; vector
level; visit.push(root); //NULL stands for the end of this level visit.push(NULL); //in store every level result, we are asked to change direction. bool reback = false; while (!visit.empty()) { TreeNode* cur = visit.front(); visit.pop(); if(cur != NULL){ if(cur->left) visit.push(cur->left); if(cur->right) visit.push(cur->right); level.push_back(cur->val); } else { if(reback) { vector
rlevel(level.rbegin(),level.rend()); re.push_back(rlevel); } else re.push_back(level); //remember to clear this level. level.clear(); reback = !reback; if(!visit.empty()) visit.push(NULL); } } return re;}

转载地址:http://kglji.baihongyu.com/

你可能感兴趣的文章
Jenkins 启动命令
查看>>
[LeetCode By Python]121. Best Time to Buy and Sell Stock
查看>>
Android/Linux 内存监视
查看>>
Android2.1消息应用(Messaging)源码学习笔记
查看>>
剑指offer算法题分析与整理(三)
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
QT打开项目提示no valid settings file could be found
查看>>
android 代码实现圆角
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
Visual Studio 2010:C++0x新特性
查看>>