Leetcode Link: 剑指 Offer 32 - I. 从上到下打印二叉树 - 力扣(LeetCode) (leetcode-cn.com)
题目
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

解法一
思路:见非递归的层次遍历
题解:
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
if not root:
return []
res = []
queue = collections.deque()
queue.append(root)
while queue:
cur = queue.popleft()
res.append(cur.val)
if cur.left: queue.append(cur.left)
if cur.right: queue.append(cur.right)
return resPython 中的队列
- 使用
import queue的包,时间复杂度好像有点高- 使用列表
list的.pop(0)时间复杂度为- 使用使用
collections中的双端队列deque(),其popleft()方法可达到 时间复杂度