Skip to content

Commit acd13fc

Browse files
committed
优化 0102.二叉树的层序遍历.md 中的 107.二叉树的层次遍历 II Python3解法
1 parent a21705d commit acd13fc

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

problems/0102.二叉树的层序遍历.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -279,29 +279,29 @@ python代码:
279279

280280
```python
281281
class Solution:
282+
"""二叉树层序遍历II迭代解法"""
283+
282284
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
285+
results = []
283286
if not root:
284-
return []
285-
quene = [root]
286-
out_list = []
287+
return results
287288

288-
while quene:
289-
in_list = []
290-
for _ in range(len(quene)):
291-
node = quene.pop(0)
292-
in_list.append(node.val)
293-
if node.left:
294-
quene.append(node.left)
295-
if node.right:
296-
quene.append(node.right)
297-
298-
out_list.append(in_list)
299-
300-
out_list.reverse()
301-
return out_list
302-
303-
# 执行用时:36 ms, 在所有 Python3 提交中击败了92.00%的用户
304-
# 内存消耗:15.2 MB, 在所有 Python3 提交中击败了63.76%的用户
289+
from collections import deque
290+
que = deque([root])
291+
292+
while que:
293+
result = []
294+
for _ in range(len(que)):
295+
cur = que.popleft()
296+
result.append(cur.val)
297+
if cur.left:
298+
que.append(cur.left)
299+
if cur.right:
300+
que.append(cur.right)
301+
results.append(result)
302+
303+
results.reverse()
304+
return results
305305
```
306306

307307
Java:

0 commit comments

Comments
 (0)