Skip to content

Commit 83745f8

Browse files
authored
Update README.md
add DFS method
1 parent 0482811 commit 83745f8

File tree

1 file changed

+35
-0
lines changed
  • solution/0100-0199/0103.Binary Tree Zigzag Level Order Traversal

1 file changed

+35
-0
lines changed

solution/0100-0199/0103.Binary Tree Zigzag Level Order Traversal/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,41 @@ class Solution {
147147
}
148148
```
149149

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+
150185
#### C++
151186

152187
```cpp

0 commit comments

Comments
 (0)