class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
if root == None:
return []
res = {
}
layer = 0
def PreOrder(root, layer):
if layer not in res:
res[layer] = [root.val]
else:
res[layer].append(root.val)
if root.left:
PreOrder(root.left, layer+1)
if root.right:
PreOrder(root.right, layer+1)
InOrder(root, 0)
res_ = []
for k, v in res.items():
res_.append(v)
return res_
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
if root == None:
return []
res = {
}
def Level(root, layer):
if layer not in res:
res[layer] = [root.val]
else:
res[layer].append(root.val)
if root.left:
Level(root.left, layer+1)
if root.right:
Level(root.right, layer+1)
Level(root,1)
r = []
for k,v in res.items():
r.append(v)
return r[::-1]