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

【LeetCode】二叉树的递归遍历

题目

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

算法与思路

Preorder traversal order:

  1. Visit the current node.
  2. Traverse the left subtree.
  3. Traverse the right subtree.
    在这里插入图片描述
    在这里插入图片描述

Returns:
list: A list of integers representing the preorder traversal.

代码

  1. 前序

    # 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 preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
            if not root:
                return []
            return [root.val] + self.preorderTraversal(root.left) + self.preorderTraversal(root.right)
            
    
  2. 中序(同理)

    # 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 inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
            if not root:
                return []
            return self.inorderTraversal(root.left) + [root.val] + self.inorderTraversal(root.right)
        
    
  3. 后序(同理)

    class Solution:
    def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        if not root:
            return []
        return self.postorderTraversal(root.left) + self.postorderTraversal(root.right) + [root.val]
    

总结

http://www.dtcms.com/a/103385.html

相关文章:

  • promise使用及其方法
  • CMake在Windows环境下Visual Studio Code的使用
  • 利用deepseek直接调用其他文生图网站生成图片
  • [VolgaCTF 2025] Baby-Welcome,BrokeBroke,Field Rules
  • nginx的自定义日志
  • 爬虫:网络请求(通信)步骤,http和https协议
  • C++算法——分治
  • MVC编程
  • Web网页内嵌 Adobe Pdf Reader 谷歌Chrome在线预览编辑PDF文档
  • 程序化广告行业(46/89):竞价结算规则、底价策略与内部排名解析
  • WPF 自定义路由事件
  • 题解:蓝桥杯 2023 省 B 接龙数列 - dp + 哈希map
  • 高通Android 8.1/9/10/11/12/13 通过包名设置默认launcher
  • [MySql] 多表关系, 多表查询
  • 消息中心系统架构设计
  • 14 配置Hadoop集群-配置历史和日志服务
  • Zemax与Matlab交互:双胶合优化详细流程
  • Qt图形化界面为何总被“冷落“?
  • IPv6协议
  • STM32 ADC转换完成回调函数详解 HAL_ADC_ConvCpltCallback与HAL_ADC_ConvHalfCpltCallback
  • 轮胎厂相关笔记
  • Rancher2.8.5架构
  • 如何把数据从SQLite迁移到PostgreSQL
  • c++ primer 阅读手记 第七章
  • 【蓝桥杯】 枚举和模拟练习题
  • 统一语言学习范式
  • 企业级海外网络专线行业应用案例及服务商推荐
  • element-ui图片查看器
  • idea导入tomcat的jar
  • 算法学习11——滑动窗口——最大连续1的个数