Leetcode102. 二叉树的层序遍历 Python3

本文详细解析了LeetCode102题“二叉树的层序遍历”的算法实现,采用队列进行层序遍历,通过Python3代码展示了如何从根节点开始,按层次顺序遍历二叉树,每层节点的值被收集并存储为列表。
部署运行你感兴趣的模型镜像

Leetcode102. 二叉树的层序遍历

队列版层序遍历
python3代码:

class Solution:
    def levelOrder(self, root: TreeNode) -> List[List[int]]:
        # 首先判空
        if root is None:
            return []
        # 初始化队列,添加根节点
        que = [root]
        # 因为结果是二维的,先定义一个
        result = []
        # 队列不为空就不停循环
        while que:
            # tmp用来存储下一层的所有节点
            tmp = []
            # tmp_val用来存当前层的所有节点值,注意是节点的值,而且是从左到右
            tmp_val = []
            # 遍历队列中每个节点
            for node in que:
                # 将节点的值存入tmp_val
                tmp_val.append(node.val)
                # 将下一层的所有节点存入tmp
                if node.left:
                    tmp.append(node.left)
                if node.right:
                    tmp.append(node.right)
            # 将当前层的节点值列表存入result
            result.append(tmp_val)
            # 将下一层的所有节点列表替换现有的队列
            que = tmp
        # 返回结果
        return result

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值