Skip to content

Commit f4c3806

Browse files
authored
Binary-Tree-ZigZag-Level-Order-Traversal (#52)
* Binary-Tree-ZigZag-Level-Order-Traversal * Updated README.md * Updated README.md
1 parent f087adf commit f4c3806

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
8+
* };
9+
*/
10+
class Solution {
11+
public:
12+
vector<vector<int>> zigzagLevelOrder(TreeNode* root) {
13+
vector<vector<int>> finalvec;
14+
int flag = 1;
15+
TreeNode *t;
16+
stack<TreeNode*>s1;
17+
stack<TreeNode*>s2;
18+
if(root==NULL)
19+
return finalvec;
20+
s1.push(root);
21+
// vector<int>temp;
22+
// temp.push_back(root->val);
23+
// finalvec.push_back(temp);
24+
while(!s1.empty() || !s2.empty())
25+
{
26+
if(flag == 1)
27+
{
28+
vector<int>temp;
29+
while(!s1.empty())
30+
{
31+
t = s1.top();
32+
s1.pop();
33+
temp.push_back(t->val);
34+
if(t->left)
35+
s2.push(t->left);
36+
if(t->right)
37+
s2.push(t->right);
38+
39+
}
40+
finalvec.push_back(temp);
41+
flag = 0;
42+
}
43+
else
44+
{
45+
vector<int>temp;
46+
while(!s2.empty())
47+
{
48+
t = s2.top();
49+
s2.pop();
50+
temp.push_back(t->val);
51+
if(t->right)
52+
s1.push(t->right);
53+
if(t->left)
54+
s1.push(t->left);
55+
56+
}
57+
finalvec.push_back(temp);
58+
flag = 1;
59+
}
60+
}
61+
62+
return finalvec;
63+
}
64+
};

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ Check out ---> [Sample PR](https://github.com/codedecks-in/LeetCode-Solutions/pu
180180
| 129 | [Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/) | [Java](./Java/sum-root-to-leaf-numbers.java) | _O(n)_ | _O(logn)_ | Medium | Binary Tree, Depth First Search | |
181181
| 307 | [Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/) | [Java](./Java/Range-Sum-Query-Mutable.java) | _O(logn)_ | _O(n)_ | Medium | Segment Tree | |
182182
| 919 | [Complete Binary Tree Inserter](https://leetcode.com/problems/complete-binary-tree-inserter/) | [Java](./Java/complete-binary-tree-inserter.java) | _O(n)_ | _O(n)_ | Medium | Tree | |
183+
| 103 | [Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/) | [C++](./C++/binary-tree-preorder-traversal.java) | _O(n)_ | _O(n)_ | Medium | Binary Tree, Stack
183184

184185
<br/>
185186
<div align="right">

0 commit comments

Comments
 (0)