LintCode-剑指Offer-(71)二叉树的锯齿形层次遍历
2015-12-05 13:40
471 查看
class Solution { /** * @param root: The root of binary tree. * @return: A list of lists of integer include * the zigzag level order traversal of its nodes' values */ public: vector<vector<int>> zigzagLevelOrder(TreeNode *root) { // write your code here queue<TreeNode*> q; q.push(NULL); q.push(root); bool needreverse = false; vector<vector<int>> r; if (root==NULL)return r; int level = -1; while (q.size()!=1){ if (q.front()==NULL){ r.push_back(vector<int>()); level++; q.pop(); q.push(NULL); } else{ r[level].push_back(q.front()->val); if (q.front()->left!=NULL)q.push(q.front()->left); if (q.front()->right!=NULL)q.push(q.front()->right); q.pop(); } } for (int i = 0;i<r.size();i++){ if (i%2==1) reverse(r[i].begin(),r[i].end()); } return r; } };
相关文章推荐
- CSS基础要点概况
- 如何利用AngularJS打造一款简单Web应用
- JavaScript学习笔记(一)基本概念及基本数据类型
- HTML5你不知道的那些功能
- LintCode-剑指Offer-(50)数组剔除元素后的乘积
- LintCode-剑指Offer-(112)删除排序链表中的重复元素
- hdoj5024Wang Xifeng's Little Plot【dfs】
- 多态图标(3)-HTML使用CSS切换
- LintCode-剑指Offer-(54)转换字符串到整数
- 批处理安装nodejs
- 【javascript】javascript闭包经典代码
- 在NodeJS中利用bookshelf.js进行事务(transaction)管理
- Distinctive Image Features from Scale-Invariant Keypoints-SIFT算法译文
- jsPatch.qq.com呵呵
- Iframe 自适应高度并实时监控高度变化的js代码
- 关于css的text-indent首行缩进两个字符和图片缩进的问题
- LintCode-剑指Offer-(88)最近公共祖先
- multiple reactors + thread pool(one loop per thread + threadpool)(突发I/O与密集计算)
- 利用framebuffer,命令行显示图片
- jsp页面 URL传中文参数到Action里面出现乱码,用过滤器和控制器都解决