Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. from collections import defaultdict, deque
  2.  
  3. # Definition for a binary tree node.
  4. # class TreeNode:
  5. # def __init__(self, x):
  6. # self.val = x
  7. # self.left = None
  8. # self.right = None
  9.  
  10. class Solution:
  11. def levelOrder(self, root: TreeNode) -> List[List[int]]:
  12. visited = set()
  13. levels = {}
  14. q = deque()
  15. q.append(root)
  16. visited.add(root)
  17. while len(q):
  18. cur = q.popleft()
  19. for child in [cur.left, cur.right]:
  20. if child and child not in visited:
  21. visited.add(child)
  22. levels[child] = levels[cur] + 1
  23. q.append(child)
  24. lvl = defaultdict(list)
  25. for x, v in levels:
  26. lvl[v].append(x)
  27.  
  28. return [lvl[i] for i in range(len(lvl))]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement