LeetCode刷题笔记第144题:二叉树的前序遍历

LeetCode刷题笔记第144题:二叉树的前序遍历

题目:

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

想法:

前序遍历是通过根左右的方式遍历整个树,通过递归的方式遍历树

复制代码
# 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]:
        def preorder(root: TreeNode):
            if not root:  
                return
            res.append(root.val)
            preorder(root.left)
            preorder(root.right)
        
        res = list()
        preorder(root)
        return res

上述代码的时间复杂度为O(n),空间复杂度为O(n)

相关推荐
HXR_plume33 分钟前
【计算机网络】王道考研笔记整理(1)计算机网络体系结构
网络·笔记·计算机网络
dying_man44 分钟前
LeetCode--42.接雨水
算法·leetcode
笑鸿的学习笔记1 小时前
qt-C++语法笔记之Stretch与Spacer的关系分析
c++·笔记·qt
vortex51 小时前
算法设计与分析 知识总结
算法
艾莉丝努力练剑2 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
巴伦是只猫2 小时前
【机器学习笔记Ⅰ】3 代价函数
人工智能·笔记·机器学习
ZZZS05162 小时前
stack栈练习
c++·笔记·学习·算法·动态规划
黑听人2 小时前
【力扣 困难 C】115. 不同的子序列
c语言·leetcode
hans汉斯2 小时前
【人工智能与机器人研究】基于力传感器坐标系预标定的重力补偿算法
人工智能·算法·机器人·信号处理·深度神经网络
AI视觉网奇3 小时前
rag学习笔记
笔记·学习