您当前的位置: 首页 >  leetcode

LeetCode Algorithm 102. 二叉树的层序遍历

发布时间:2022-02-07 15:23:08 ,浏览量:0

102. 二叉树的层序遍历

Ideas

二叉树的层序遍历类似于图的广度优先搜索,都是要借助队列这种数据结构来实现。

首先将根节点添加到队列中,然后就是套BFS的模板,稍微改动一下。

只要队列不为空就循环:

  1. 当前队列大小即为当前层元素个数;
  2. 遍历当前层元素,依次取出队首元素,添加到返回结果中;
  3. 将该元素的左右孩子节点添加到队列中
Code Python
from typing import List from collections import deque # Definition for a binary tree node. class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val
        self.left = left
        self.right = right class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: if not root: return [] res = [] queue = deque() queue.append(root) while queue: res.append([]) level_size = len(queue) for _ in range(level_size): node = queue.popleft() res[-1].append(node.val) if node.left: queue.append(node.left) if node.right: queue.append(node.right) return res
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0503s