前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【简单】144. 二叉树的前序遍历

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

作者头像
SingYi
发布2023-08-23 08:22:23
1440
发布2023-08-23 08:22:23
举报
文章被收录于专栏:Lan小站

题目

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

示例 1:

www.lanol.cn
www.lanol.cn
代码语言:javascript
复制
输入:root = [1,null,2,3]
输出:[1,2,3]

示例 2:

输入:root = [] 输出:[] 示例 3:

输入:root = [1] 输出:[1] 提示:

树中节点数目在范围 [0, 100] 内 -100 <= Node.val <= 100

进阶:递归算法很简单,你可以通过迭代算法完成吗?

解法

其实这种题目不难,我感觉烦的是数据结构,题目里面给个list,搞得我不好测试。 比如之前的链表,非得让我自己写个list和链表的转换才好进行调试。

代码语言:javascript
复制
from typing import Optional, List

from alo.common import TreeNode


class Solution:
    def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        ans = []
        stack = [root]
        while stack:
            node = stack.pop()
            if node:
                ans.append(node.val)
                if node.right:
                    stack.append(node.right)
                if node.left:
                    stack.append(node.left)
        return ans


if __name__ == '__main__':
    s = Solution()
    s.preorderTraversal(TreeNode(1, None, TreeNode(2, TreeNode(3), None)))
www.lanol.cn
www.lanol.cn
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年02月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档