LEETCODE: Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:大数据净值 编辑:程序博客网 时间:2024/06/05 13:32
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
For example:
Given binary tree {3,9,20,#,#,15,7}
,
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7]]
同上一篇,只是多做了一次reverse: http://blog.csdn.net/anyicheng2015/article/details/42264721
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<vector<int> > zigzagLevelOrder(TreeNode *root) { vector<vector<int> > results; if(root == NULL) return results; queue<TreeNode *> onelevel; onelevel.push(root); bool shouldReverse = false; while(!onelevel.empty()) { // Get a level and get TreeNode of the next level. vector<int> valOfCurrentLevel; queue<TreeNode *> nextlevel; while(!onelevel.empty()) { TreeNode *front = onelevel.front(); valOfCurrentLevel.push_back(front->val); if(front->left != NULL) nextlevel.push(front->left); if(front->right != NULL) nextlevel.push(front->right); onelevel.pop(); } if(shouldReverse) reverse(valOfCurrentLevel.begin(), valOfCurrentLevel.end()); results.push_back(valOfCurrentLevel); onelevel = nextlevel; shouldReverse = !shouldReverse; } return results; }};
0 0
- LeetCode: Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- [Leetcode]Binary Tree Zigzag Level Order Traversal
- [leetcode]Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode-Binary Tree Zigzag Level Order Traversal
- [leetcode] Binary Tree Zigzag Level Order Traversal
- LeetCode - Binary Tree Zigzag Level Order Traversal
- LeetCode:Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- Java和WebSocket开发网页聊天室
- 聚焦DIV+CSS布局中主要CSS属性
- eclipse注释字体大小设置
- Android BitmapShader 实战 实现圆形、圆角图片
- MySQL主从复制基本配置
- LEETCODE: Binary Tree Zigzag Level Order Traversal
- 流弊的技术博客
- 用g++编译生成动态连接库*.so的方法及连接
- ireport 的一些技巧
- 磁盘格式化
- android spinner 样式完全自定义[包括RadioButton和RatingBar效果自定义]
- Android 框架练成 教你打造高效的图片加载框架
- C语言模拟试题1
- R语言:利用相关性分析对复杂数据进行数据探索