LeetCode Binary Tree Zigzag Level Order Traversal
2014-08-17 21:58
399 查看
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
return its zigzag level order traversal as:
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] ]
/** * 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> > vecArray; if (NULL == root) return vecArray; bool flag = false; queue<TreeNode *> queueNode; queueNode.push(root); while (!queueNode.empty()) { vector<int> ivec; int n = queueNode.size(); TreeNode *pTree; for (int i = 0; i < n; i++) { pTree = queueNode.front(); queueNode.pop(); if (pTree->left) queueNode.push(pTree->left); if (pTree->right) queueNode.push(pTree->right); ivec.push_back(pTree->val); } if (flag) exch(ivec); flag = !flag; vecArray.push_back(ivec); } return vecArray; } void exch(vector<int> &ivec) { int i = 0, j = ivec.size() - 1; while (i < j) { int temp = ivec[i]; ivec[i++] = ivec[j]; ivec[j--] = temp; } } };
相关文章推荐
- Leetcode 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
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树 栈]
- binary tree zigzag level order traversal leetcode c++
- [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)
- [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(103) Binary Tree Zigzag Level Order Traversal