File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed
solution/0100-0199/0103.Binary Tree Zigzag Level Order Traversal Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -147,6 +147,41 @@ class Solution {
147
147
}
148
148
```
149
149
150
+ ```
151
+ DFS:
152
+ class Solution {
153
+ public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
154
+ List<List<Integer>> result = new ArrayList<>();
155
+ dfs(root, 0, result);
156
+ return result;
157
+ }
158
+
159
+ private void dfs(TreeNode node, int level, List<List<Integer>> result) {
160
+ if (node == null) return;
161
+
162
+ // Create new level list if needed
163
+ if (result.size() == level) {
164
+ result.add(new LinkedList<>());
165
+ }
166
+
167
+ List<Integer> levelList = result.get(level);
168
+
169
+ if (level % 2 == 0) {
170
+ // Left to right
171
+ levelList.add(node.val);
172
+ } else {
173
+ // Right to left
174
+ levelList.add(0, node.val);
175
+ }
176
+
177
+ // Go deeper
178
+ dfs(node.left, level + 1, result);
179
+ dfs(node.right, level + 1, result);
180
+ }
181
+ }
182
+
183
+ ```
184
+
150
185
#### C++
151
186
152
187
``` cpp
You can’t perform that action at this time.
0 commit comments