题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/
难度:中等

描述:
给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

提示:
节点数目:[0, 2000]

题解

  1. from collections import deque
  2. # Definition for a binary tree node.
  3. # class TreeNode:
  4. # def __init__(self, val=0, left=None, right=None):
  5. # self.val = val
  6. # self.left = left
  7. # self.right = right
  8. class Solution:
  9. def levelOrder(self, root: TreeNode) -> List[List[int]]:
  10. q = deque()
  11. if root:
  12. q.append(root)
  13. ret = []
  14. while q:
  15. size = len(q)
  16. temp = []
  17. while size > 0:
  18. node = q.popleft()
  19. temp.append(node.val)
  20. if node.left:
  21. q.append(node.left)
  22. if node.right:
  23. q.append(node.right)
  24. size -= 1
  25. ret.append(temp)
  26. return ret