Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:新浪微博个性域名删除 编辑:程序博客网 时间:2024/06/06 21:01
题目: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).
思路:层序遍历的一个小小的变种。偶数层把顺序逆置。
代码:
/** * 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> > result; if(root == NULL) return result; vector<int> level; queue<TreeNode *> q; q.push(root); q.push(NULL); int i = 0; while(!q.empty()) { TreeNode *p = q.front(); q.pop(); if(p == NULL) { if(i&1 == 1) reverse(level.begin(), level.end()); i++; result.push_back(level); level.clear(); if(!q.empty()) q.push(NULL); } else { level.push_back(p->val); if(p->left != NULL) q.push(p->left); if(p->right != NULL) q.push(p->right); } } return result; }};
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
- Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 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
- Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 一段关于c++11中lambda表达式和std::function的体验代码
- BCM 芯片SDK初始化
- C++ 虚函数表解析
- [Android官方API阅读]___<Application Fundamentals>
- Serializable序列化(一)
- Binary Tree Zigzag Level Order Traversal
- SpringMVC源码剖析(二)- DispatcherServlet的前世今生
- 最大公约数的一些定理
- SSE指令学习笔记
- oracle的jdbc连接方式:oci和thin
- SpringMVC源码剖析(三)- DispatcherServlet的初始化流
- 黑马程序员_交通灯管理系统
- 索引的结构图
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏