binary tree zigzag level order traversal leetcode c++
来源:互联网 发布:网页模板源码下载 编辑:程序博客网 时间:2024/05/22 00:09
we just use a flag parameter called layer and with the help of a stack to accomplish the function.It just like the level order traversal on binary tree.
/** * 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>> ans; if(root == NULL) return ans; int count = 1;//count is the number of each layer//two queue<TreeNode *> q; q.push(root); vector<int> cur(0); int layer = 0; while(!q.empty()) { cur.clear(); stack<int> s; int tmp = 0; for(int i = 0;i< count;i++) { root = q.front(); if(layer%2 == 0) { cur.push_back(root->val); q.pop(); } if(layer%2 == 1) { s.push(root->val); q.pop(); } if(root->left!= NULL) { q.push(root->left); tmp++; } if(root->right!= NULL) { q.push(root->right); tmp++; } } if(layer%2 == 1) { while(!s.empty()) { cur.push_back(s.top()); s.pop(); } } layer ++; count = tmp; ans.push_back(cur); } return ans; }};
0 0
- [C++]LeetCode: 101 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
- 改进版本的精确数据权限定义和实现
- 热爱编程,热爱生活,快速适应IT新技术
- HDU 4169 Wealthy Family
- 概率dp HDU 3853
- 《编写高质量代码:改善Java程序的151个建议》 建议10
- binary tree zigzag level order traversal leetcode c++
- oracle常见查询转换笔记
- CXF+Maven+Eclipse开发基于jax-rs规范的WebService
- C语言——为什么调用函数不能在主函数之后
- NSDateFormatter格式详细列表一览
- 数据仓库数据挖掘——数据仓库与数据集市的关系
- C#消息处理机制中结构体的打包和解包
- TypeError: Error #1006: value 不是函数。
- 第9周项目5:程序填充题