File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 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 )
You can’t perform that action at this time.
0 commit comments