Guest User

Untitled

a guest
Sep 24th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. # Python3
  2.  
  3. from collections import deque
  4.  
  5. # Definition for a binary tree node.
  6. # class TreeNode:
  7. # def __init__(self, x):
  8. # self.val = x
  9. # self.left = None
  10. # self.right = None
  11.  
  12. class Solution:
  13. def levelOrder(self, root):
  14. """
  15. :type root: TreeNode
  16. :rtype: List[List[int]]
  17. """
  18.  
  19. # approach: use a queue for level order traversal
  20.  
  21. if not root:
  22. return []
  23.  
  24. result = []
  25. queue = deque([root])
  26. q_size = 1
  27.  
  28. while q_size:
  29. level_result = []
  30. for i in range(q_size):
  31. node = queue.popleft()
  32. level_result.append(node.val)
  33. if node.left:
  34. queue.append(node.left)
  35. if node.right:
  36. queue.append(node.right)
  37.  
  38. result.append(level_result)
  39. q_size = len(queue)
  40.  
  41. return result
Add Comment
Please, Sign In to add comment