Binary Tree Zigzag Level Order Traversal 【leetcode】
2013-09-16 19:43
393 查看
题意按二叉树的深度分类输出,一行正序一行倒序,用两个栈维护。
/** * 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> > v; vector<int> vv; if(!root)return v; stack<TreeNode*>a,b; int i,j,k=1; a.push(root); while(!a.empty()) { TreeNode* temp=a.top(); a.pop(); vv.push_back(temp->val); if(k) { if(temp->left)b.push(temp->left); if(temp->right)b.push(temp->right); } else { if(temp->right)b.push(temp->right); if(temp->left)b.push(temp->left); } if(a.empty()) { v.push_back(vv); vv.clear(); k=(k+1)&1; swap(a,b); } } return v; } };
相关文章推荐
- 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
- 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】【python】Binary Tree Zigzag Level Order Traversal
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树 栈]
- Leetcode 103 ,Binary Tree Zigzag Level Order Traversal(二叉树Z形分层遍历)
- C++详解Leetcode:103. Binary Tree Zigzag Level Order Traversal
- LeetCode--binary-tree-zigzag-level-order-traversal
- LeetCode 49 Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- LeetCode 103 Binary Tree Zigzag Level Order Traversal(二叉树层序遍历)
- Binary Tree Zigzag Level Order Traversal 二叉树按层遍历,zigzag输出@LeetCode
- [LeetCode#103]Binary Tree Zigzag Level Order Traversal