当前位置: 首页 > article >正文

二叉树的前序遍历(LeetCode)

题目

给你二叉树的根节点 root ,返回它节点值的 前序 遍历

解题

# 定义二叉树节点的类
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right


# 前序遍历的递归实现
def preorderTraversal(root: TreeNode) -> list:
    result = []

    def helper(node):
        if node:
            result.append(node.val)  # 访问根节点
            helper(node.left)  # 遍历左子树
            helper(node.right)  # 遍历右子树

    helper(root)
    return result


# 创建二叉树
root = TreeNode(1)
root.right = TreeNode(2)
root.right.left = TreeNode(3)

# 进行前序遍历
traversal_result = preorderTraversal(root)
print(traversal_result)  # 输出: [1, 2, 3]

http://www.kler.cn/news/285322.html

相关文章:

  • 深度学习_数据读取到model模型存储
  • 华为云征文|初识Flexus云服务X实例和参数配置,finalShell远程连接,安装MySQL并配置和远程访问
  • 2024-如何在低版本Mac OS安装合适的xcode-详细的技术篇
  • Spring Cloud全解析:网关之GateWay过滤器
  • QT:详解信号和槽
  • 相机坐标系转换世界坐标系,zedimudepth
  • 【C++ 第十八章】C++11 新增语法(4)
  • BMC lighttpd kvm数据分析(websocket)
  • 【Qt笔记】QCommandLinkButton控件详解
  • Unity编辑器扩展之Scene视图扩展
  • Windows Edge浏览器对Web Authentication API的支持分析与实践应用
  • 音频处理新纪元:深入探索PyTorch的torchaudio
  • vue新建按钮弹出选框
  • 【第0004页 · 递归】生成括号对
  • 缓存Mybatis一级缓存与二级缓存
  • 【Java设计模式】数据总线模式:高效统一组件通信
  • 【鬼灭之刃学英语 立志篇】2、义勇对炭治郎的怒斥
  • 4.1 版本管理器——2PL与MVCC
  • 第 20 章 DOM 进阶
  • 应用层协议(下)Https加密Http的秘密(含逻辑图解 简单易学 通俗易懂!)
  • DataSet和DataTable的关系
  • Python爬虫所需的技术及其原理(简单易懂)
  • 策略模式+模版方法模式+简单工厂模式混用优化代码复杂分支问题
  • 【软件测试】bug以及测试用例的设计方法
  • Taro 微信小程序 分页上拉加载
  • C语言程序设计(初识C语言后部分)
  • Java—可变参数、不可变集合
  • 单链表应用
  • 在Jtti服务器上怎么安装和配置Docker?
  • Pandas 绘图的强大之处:后端