Update 0102.二叉树的层序遍历.md

This commit is contained in:
jianghongcheng
2023-05-03 19:56:26 -05:00
committed by GitHub
parent 0521f762d9
commit 42f85c8a8f

View File

@ -512,27 +512,29 @@ python代码
class Solution: class Solution:
"""二叉树层序遍历II迭代解法""" """二叉树层序遍历II迭代解法"""
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]: def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
results = []
if not root: if not root:
return results return []
queue = collections.deque([root])
from collections import deque
que = deque([root])
while que:
result = [] result = []
for _ in range(len(que)): while queue:
cur = que.popleft() level = []
result.append(cur.val) for _ in range(len(queue)):
cur = queue.popleft()
level.append(cur.val)
if cur.left: if cur.left:
que.append(cur.left) queue.append(cur.left)
if cur.right: if cur.right:
que.append(cur.right) queue.append(cur.right)
results.append(result) result.append(level)
return result[::-1]
results.reverse()
return results
``` ```
Java Java