Leetcode Binary Tree Zigzag Level Order Traversal
2014-01-09 07:09
453 查看
Binary Tree Zigzag Level Order Traversal
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:
confused what
read more on how binary tree is serialized on OJ.
我使用了两个deque容器做,其实可以使用stack。
代码还是非常清晰的,一块一块的分好,思路很容易跟的。
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] ]
confused what
"{1,#,2,3}"means? >
read more on how binary tree is serialized on OJ.
我使用了两个deque容器做,其实可以使用stack。
代码还是非常清晰的,一块一块的分好,思路很容易跟的。
class Solution { public: vector<vector<int> > zigzagLevelOrder(TreeNode *root) { vector<vector<int> > v; if (!root) return v; deque<TreeNode *> qt1; deque<TreeNode *> qt2; qt1.push_back(root); vector<int> itmedia; itmedia.push_back(root->val); v.push_back(itmedia); itmedia.clear(); while (!qt1.empty()) { while (!qt1.empty()) { TreeNode *t = qt1.back(); qt1.pop_back(); if (t->right) { qt2.push_back(t->right); itmedia.push_back(t->right->val); } if (t->left) { qt2.push_back(t->left); itmedia.push_back(t->left->val); } } if (!itmedia.empty()) v.push_back(itmedia); itmedia.clear(); while (!qt2.empty()) { TreeNode *t = qt2.back(); qt2.pop_back(); if (t->left) { qt1.push_back(t->left); itmedia.push_back(t->left->val); } if (t->right) { qt1.push_back(t->right); itmedia.push_back(t->right->val); } } if (!itmedia.empty()) v.push_back(itmedia); itmedia.clear(); } return v; } };
相关文章推荐
- LeetCode:Binary Tree Zigzag Level Order Traversal
- 【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 理解分析
- 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
- 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
- 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
- LeetCode刷题笔录 Binary Tree Zigzag Level Order Traversal