Binary Tree Zigzag Level Order Traversal
2013-07-28 16:14
239 查看
题目
Given a binary tree, return the zigzaglevel 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] ]
confused what
"{1,#,2,3}"
思路
类似于层次遍历/** * 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) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<vector<int> > result; if(!root) return result; queue<TreeNode *> curqueue, nextqueue; TreeNode * ptr; vector<int> tmpvector; bool flag = false; nextqueue.push(root); while(true) { tmpvector.clear(); curqueue = nextqueue; while(!nextqueue.empty()) nextqueue.pop(); while(!curqueue.empty()) { ptr = curqueue.front(); curqueue.pop(); tmpvector.push_back(ptr->val); if(ptr->left!=NULL) nextqueue.push(ptr->left); if(ptr->right!=NULL) nextqueue.push(ptr->right); } if(tmpvector.size()>0) { if(flag) { reverse(tmpvector.begin(),tmpvector.end()); } flag = !flag; result.push_back(tmpvector); } else break; } } };
其他的层次遍历方法,请参考:
Binary Tree Level Order Traversal
相关文章推荐
- Binary Tree Zigzag Level Order Traversal
- binary-tree-zigzag-level-order-traversal
- [LeetCode]103 Binary Tree Zigzag Level Order Traversal
- 【Leetcode】Binary Tree Zigzag Level Order Traversal
- [leetcode] Binary Tree Zigzag Level Order Traversal
- 103.Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 【LeetCode】Binary Tree Zigzag Level Order Traversal
- LeetCode | Binary Tree Zigzag Level Order Traversal(二叉树锯齿形层序输出)
- LeetCode 103 Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 【Leetcode】Binary Tree Level Order Traversal I/II AND Binary Tree Zigzag Level Order Traversal
- leetcode Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- LeetCode题解-103-Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Leetcode Binary Tree Zigzag level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal