Skip to content

Commit 09fe80d

Browse files
committed
committed from zkp
1 parent 0ac0d29 commit 09fe80d

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

LeetCode/zigzagLevelOrder.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode(object):
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.left = None
6+
# self.right = None
7+
from collections import deque
8+
9+
10+
class Solution(object):
11+
def zigzagLevelOrder(self, root):
12+
"""
13+
:type root: TreeNode
14+
:rtype: List[List[int]]
15+
"""
16+
self.s = list()
17+
self.queue = deque()
18+
self.layer_trav(root)
19+
for i, j in enumerate(self.s):
20+
if i % 2 != 0:
21+
j.reverse()
22+
return self.s
23+
24+
def layer_trav(self, subtree):
25+
if subtree:
26+
self.queue.append(subtree)
27+
while self.queue:
28+
tmp = list()
29+
size = len(self.queue)
30+
while size > 0:
31+
tree = self.queue.popleft()
32+
tmp.append(tree.val)
33+
if tree.left:
34+
self.queue.append(tree.left)
35+
if tree.right:
36+
self.queue.append(tree.right)
37+
size -= 1
38+
self.s.append(tmp)

0 commit comments

Comments
 (0)