以出现的频率来看。树的层序遍历一定是考察的重点,除非工作人员想找题水数量。

zigzag,还是有几道题的,层序的这个非常easy,假设是奇数层。reverse下面就可以。无他。我写的时候预计还不知道这个函数。要么怎么这么拙呢。。

class Solution {
public:
vector<vector<int> > zigzagLevelOrder(TreeNode *root) {
vector<vector<int> > res;
if(root == NULL) return res;
vector<int> tpres;
queue<TreeNode*> que;
TreeNode *pNode;
int level = 0;
que.push(root);
que.push(NULL);
while(!que.empty()){
pNode = que.front();
que.pop();
if(pNode == NULL){
level++;
if(level%2 == 0){
for(int i=0, j=tpres.size()-1;i<j;i++, j--){
int t = tpres[i];
tpres[i] = tpres[j];
tpres[j] = t;
}
}
res.push_back(tpres);
if(que.empty())
break;
else{
tpres.clear();
que.push(NULL);
continue;
}
}
tpres.push_back(pNode->val);
if(pNode->left)
que.push(pNode->left);
if(pNode->right)
que.push(pNode->right);
}
return res;
}
};

最新文章

  1. Selenium_IEDriver操作sendkeys输入速度太慢
  2. Oracle:从SQL文件批量导入数据
  3. 移动端字体缩放问题解决方案-摘自《html5移动web开发实践》
  4. Spring Data Jpa配置
  5. JavaScript代码优化(下载时间和执行速度优化)
  6. C语言中的命名空间
  7. C#_模拟webAp_POST-GET-PUT-DELETE
  8. HDU5311 Hidden String
  9. bootstrap注意事项(七)图片
  10. FluentConsole是一个托管在github的C#开源组件
  11. git add --all 为啥不能添加空文件夹,这样设计的初衷是
  12. 重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider
  13. 数模学习笔记(四)——AHP
  14. Java、javax、org、sun、Java.util等常用包的区别、详解、实例
  15. Docker1.12.6+CentOS7.3 的安装
  16. Android初级教程实现电话录音
  17. IntelliJ的Scala配置
  18. Linux分页机制之分页机制的实现详解--Linux内存管理(八)
  19. 061 SparkStream数据接收原理
  20. 超详细!Github团队协作教程(Gitkraken版)

热门文章

  1. jQuery Lazy Load图片懒加载
  2. 理解Java垃圾回收
  3. HDU 6300.Triangle Partition-三角形-水题 (2018 Multi-University Training Contest 1 1003)
  4. Python的程序结构[4] -&gt; 函数/Function[2] -&gt; 匿名函数
  5. Best Time to Buy and Sell Stock with Cooldown -- LeetCode
  6. Mac上Git的安装与简单使用
  7. 基于Android的串口聊天室 (基于tiny4412) 一
  8. 【IntellJ IDEA】idea的Terminal窗口中文乱码 解决方法
  9. JAVA常见算法题(三)
  10. Spark map-side-join 关联优化