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)

相关推荐
QxQ么么5 小时前
移远通信(桂林)26校招-助理AI算法工程师-面试纪录
人工智能·python·算法·面试
('-')7 小时前
《从根上理解MySQL是怎样运行的》第十章学习笔记
笔记·学习·mysql
hd51cc7 小时前
MFC学习笔记 对话框
笔记·学习·mfc
卡提西亚7 小时前
数据库笔记-4-SQL语言之DCL
数据库·笔记·sql
Mz12217 小时前
day05 移动零、盛水最多的容器、三数之和
数据结构·算法·leetcode
SoleMotive.8 小时前
如果用户反映页面跳转得非常慢,该如何排查
jvm·数据库·redis·算法·缓存
Radan小哥8 小时前
Docker学习笔记—day0010
笔记·学习·docker
念越8 小时前
判断两棵二叉树是否相同(力扣)
算法·leetcode·入门
im_AMBER8 小时前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
黑客思维者8 小时前
LLM底层原理学习笔记:模型评估的基准测试体系与方法论
人工智能·笔记·神经网络·学习·模型评估·基准测试