Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bae51a2

Browse files
committed
Create: 0103-binary-tree-level-order-traversal.py
1 parent c3a6440 commit bae51a2

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
9+
if root is None:
10+
return
11+
result, zigzagDirection = [], 1
12+
q = [root]
13+
while q:
14+
level, queueLength = [], len(q)
15+
for i in range(queueLength):
16+
node = q.pop(0)
17+
level.append(node.val)
18+
if node.left:
19+
q.append(node.left)
20+
if node.right:
21+
q.append(node.right)
22+
result.append(level[::zigzagDirection])
23+
zigzagDirection *= -1
24+
return result

0 commit comments

Comments
 (0)