leetcode-103-Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:电脑绘画软件 编辑:程序博客网 时间:2024/05/29 04:52
#include <iostream>#include <vector>using namespace std;//Definition for a binary tree node.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>> myVec; vector<TreeNode *> levVec; if (!root) { return myVec; } levVec.push_back(root); myVec.push_back(vector<int>(1, root->val)); bool flag = false; while (true) { vector<TreeNode *> nextVec; vector<int> numVec; for (int i = 0; i < levVec.size(); i++) { if (levVec[i]->left) { nextVec.push_back(levVec[i]->left); if (flag) { numVec.push_back(levVec[i]->left->val); } else { numVec.insert(numVec.begin(), levVec[i]->left->val); } } if (levVec[i]->right) { nextVec.push_back(levVec[i]->right); if (flag) { numVec.push_back(levVec[i]->right->val); } else { numVec.insert(numVec.begin(), levVec[i]->right->val); } } } if (nextVec.size() == 0) { break; } levVec = nextVec; myVec.push_back(numVec); flag = !flag; } return myVec; }};int main(int argc, const char * argv[]) { TreeNode three = TreeNode(3); TreeNode nine = TreeNode(9); TreeNode twenty = TreeNode(20); TreeNode fifteen = TreeNode(15); TreeNode seven = TreeNode(7); three.left = &nine; three.right = &twenty; twenty.left = &fifteen; twenty.right = &seven; Solution s; vector<vector<int>> res = s.zigzagLevelOrder(&three); for (int i = 0; i < res.size(); i++) { for (int j = 0; j < res[i].size(); j++) { cout << res[i][j] << " "; } cout << endl; } return 0;}
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
- 【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
- LeetCode:Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- 这一年,我们一起追过的梦想
- 【drp 1】使用易宝实现在线支付
- linux 后台开发类常见问题及知识点
- UVA 536(p177)----Tree Recovery
- 1053. Path of Equal Weight (30)
- leetcode-103-Binary Tree Zigzag Level Order Traversal
- IE8 div 非按钮点击之后,为了防止重复点击,会默认添加[disabled=“disabled”]
- hdu 4283 You Are the One
- hdu1071 The area
- 近200篇机器学习&深度学习资料分享
- hdu 1518 square
- Uva The Tower of Babylon
- Started Service 与 Bound Service
- Cpp_类和对象