Leetcode | Binary Tree Zigzag Level Order Traversal
2014-10-21 19:53
405 查看
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]
]
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]
]
class Solution { public: void reverse(vector<int> &arr) { for (int i = 0, j = arr.size() - 1; i < j; i++, j--) swap(arr[i], arr[j]); } vector<vector<int> > zigzagLevelOrder(TreeNode *root) { vector<vector<int> > ans; if (root == NULL) return ans; vector<vector<TreeNode*> > layers(2); vector<int> tmp; int cur = 0, next = 1; layers[cur].push_back(root); while (!layers[cur].empty()) { layers[next].clear(); tmp.clear(); for (auto node : layers[cur]) { if (node->left) layers[next].push_back(node->left); if (node->right) layers[next].push_back(node->right); tmp.push_back(node->val); } if (cur == 1) reverse(tmp); ans.push_back(tmp); cur = !cur, next = !next; } return ans; } };
相关文章推荐
- leetcode---Binary Tree Zigzag Level Order Traversal---层次遍历
- leetcode--Binary Tree Zigzag Level Order Traversal
- [LeetCode-15]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
- 103. Binary Tree Zigzag Level Order Traversal LeetCode
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode103—Binary Tree Zigzag Level Order Traversal
- 【LeetCode】C# 103、Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [LeetCode] 015: Binary Tree Zigzag Level Order Traversal
- 【Leetcode】Binary Tree Zigzag Level Order Traversal (Tree Traversal)
- leetcode_question_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 Leetcode Python
- 【leetcode】Binary Tree Zigzag Level Order Traversal (middle)