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)

相关推荐
炽烈小老头7 分钟前
【每天学习一点算法 2025/12/22】将有序数组转换为二叉搜索树
学习·算法
呱呱巨基16 分钟前
Linux 进程控制
linux·c++·笔记·学习
jghhh0119 分钟前
POCS(凸集投影)算法解决部分k空间数据缺失导致吉布斯伪影
算法
罗湖老棍子25 分钟前
最小函数值(minval)(信息学奥赛一本通- P1370)
数据结构·c++·算法··优先队列·
LYFlied26 分钟前
【每日算法】LeetCode 4. 寻找两个正序数组的中位数
算法·leetcode·面试·职场和发展
长安er27 分钟前
LeetCode 62/64/5/1143多维动态规划核心题型总结
算法·leetcode·mybatis·动态规划
鹿角片ljp27 分钟前
力扣 83: 删除排序链表中的重复元素(Java实现)
java·leetcode·链表
LYFlied33 分钟前
【每日算法】LeetCode 208. 实现 Trie (前缀树)
数据结构·算法·leetcode·面试·职场和发展
阿恩.7701 小时前
前沿科技计算机国际期刊征稿:电子、AI与网络计算
人工智能·经验分享·笔记·计算机网络·考研·云计算
代码游侠1 小时前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法