leetcode:Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:小米3微信无法连接网络 编辑:程序博客网 时间:2024/06/06 05:35
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.
/** * 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> > retVtr; stack<TreeNode*> parentStack; if (!root) return retVtr; parentStack.push(root); bool toggle = false; while (!parentStack.empty()) { vector<int> curVtr; stack<TreeNode*> curStack; while (parentStack.size() > 0) { TreeNode *pCurNode = parentStack.top(); curVtr.push_back(pCurNode->val); if (!toggle) { if (pCurNode->left) curStack.push(pCurNode->left); if (pCurNode->right) curStack.push(pCurNode->right); } else { if (pCurNode->right) curStack.push(pCurNode->right); if (pCurNode->left) curStack.push(pCurNode->left); } parentStack.pop(); } toggle = !toggle; retVtr.push_back(curVtr); parentStack = curStack; } return retVtr; }};
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
- DefaultTableModel
- iOS Developer:真机测试
- ios之数据库的拷贝
- 计算机核心期刊排名
- 设计一个复数类Complex,并计算复数的和、差
- leetcode:Binary Tree Zigzag Level Order Traversal
- MongoDB
- Java IO读写大文件的几种方式及测试 (2012-04-21 22:58:06)
- 日志14-12-8
- Redis
- gcc生成静态库和动态库
- Struts2 的工作流程
- Cassandra
- Eclipse格式化XML文件