【leetcode】144. 二叉树的前序遍历

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

示例 1:

输入:root = [1,null,2,3]

输出:[1,2,3]

解释:

示例 2:

输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]

输出:[1,2,4,5,6,7,3,8,9]

解释:

示例 3:

输入:root = []

输出:[]

示例 4:

输入:root = [1]

输出:[1]

代码
python 复制代码
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def preorderTraversal(self, root):
        """
        :type root: Optional[TreeNode]
        :rtype: List[int]
        """
        res = []
        def dfs(node):
            if node is None:
                return
            
            res.append(node.val)
            dfs(node.left)
            dfs(node.right)
        dfs(root)
        return res

        
相关推荐
高山上有一只小老虎5 分钟前
字符串字符匹配
java·算法
愚润求学38 分钟前
【动态规划】专题完结,题单汇总
算法·leetcode·动态规划
林太白1 小时前
跟着TRAE SOLO学习两大搜索
前端·算法
ghie90901 小时前
图像去雾算法详解与MATLAB实现
开发语言·算法·matlab
云泽8081 小时前
从三路快排到内省排序:探索工业级排序算法的演进
算法·排序算法
weixin_468466852 小时前
遗传算法求解TSP旅行商问题python代码实战
python·算法·算法优化·遗传算法·旅行商问题·智能优化·np问题
·白小白2 小时前
力扣(LeetCode) ——43.字符串相乘(C++)
c++·leetcode
FMRbpm2 小时前
链表5--------删除
数据结构·c++·算法·链表·新手入门
程序员buddha3 小时前
C语言操作符详解
java·c语言·算法
John_Rey3 小时前
API 设计哲学:构建健壮、易用且符合惯用语的 Rust 库
网络·算法·rust