1.题目描述
2.代码构思(debug)
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
if not root:
return []
q = collections.deque([root])
res = []
while q:
lst = []
len1 = len(q)
for _ in range(len1):
node = q.popleft()
lst.append(node.val)
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
res.append(lst)
return res
方法2。 将树根插入最后。通过insert
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
if not root:
return []
lst = []
Que = collections.deque([root])
while Que:
level = []
size = len(Que)
for _ in range(size):
node = Que.popleft()
level.append(node.val)
if node.left:
Que.append(node.left)
if node.right:
Que.append(node.right)
lst.insert(0,level)
return lst