File tree Expand file tree Collapse file tree 2 files changed +84
-0
lines changed Expand file tree Collapse file tree 2 files changed +84
-0
lines changed Original file line number Diff line number Diff line change
1
+ ### [ 102. Binary Tree Level Order Traversal] ( https://leetcode.com/problems/binary-tree-level-order-traversal/description/ )
2
+
3
+ ** 题目描述**
4
+ > 层次遍历二叉树。逐层,从左向右。
5
+
6
+ ** 例子**
7
+ 略
8
+
9
+ ** 思想**
10
+ 辅助队列
11
+
12
+ ** 解法**
13
+ ``` python
14
+ # Definition for a binary tree node.
15
+ # class TreeNode(object):
16
+ # def __init__(self, x):
17
+ # self.val = x
18
+ # self.left = None
19
+ # self.right = None
20
+
21
+ class Solution (object ):
22
+ def levelOrder (self , root ):
23
+ """
24
+ :type root: TreeNode
25
+ :rtype: List[List[int]]
26
+ """
27
+ res = []
28
+ queue = [root]
29
+ while queue and root:
30
+ row = []
31
+ for _ in range (len (queue)):
32
+ node = queue.pop(0 )
33
+ if node.left:
34
+ queue.append(node.left)
35
+ if node.right:
36
+ queue.append(node.right)
37
+ row.append(node.val)
38
+ res.append(row)
39
+ return res
40
+ ```
Original file line number Diff line number Diff line change
1
+ #### [ 103. Binary Tree Zigzag Level Order Traversal] ( https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ )
2
+ ** 题目描述**
3
+ > zigzag锯齿形层次遍历二叉树。(逐层,从左向右;然后下一层是从右向左)
4
+
5
+ ** 例子**
6
+ 略
7
+
8
+ ** 思想**
9
+ 辅助队列 + Flag翻转标志
10
+
11
+ ** 解法**
12
+ ``` python
13
+ # Definition for a binary tree node.
14
+ # class TreeNode(object):
15
+ # def __init__(self, x):
16
+ # self.val = x
17
+ # self.left = None
18
+ # self.right = None
19
+
20
+ class Solution (object ):
21
+ def zigzagLevelOrder (self , root ):
22
+ """
23
+ :type root: TreeNode
24
+ :rtype: List[List[int]]
25
+ """
26
+ Flag = 1
27
+ res = []
28
+ queue = [root]
29
+ while queue and root:
30
+ row = []
31
+ for _ in range (len (queue)):
32
+ node = queue.pop(0 )
33
+ if node.left:
34
+ queue.append(node.left)
35
+ if node.right:
36
+ queue.append(node.right)
37
+ row.append(node.val)
38
+ if Flag == 1 :
39
+ res.append(row)
40
+ else :
41
+ res.append(row[::- 1 ])
42
+ Flag *= (- 1 )
43
+ return res
44
+ ```
You can’t perform that action at this time.
0 commit comments