Python | Leetcode Python题解之第144题二叉树的前序遍历

题目:

题解:

python 复制代码
class Solution:
    def preorderTraversal(self, root: TreeNode) -> List[int]:
        res = list()
        if not root:
            return res
        
        p1 = root
        while p1:
            p2 = p1.left
            if p2:
                while p2.right and p2.right != p1:
                    p2 = p2.right
                if not p2.right:
                    res.append(p1.val)
                    p2.right = p1
                    p1 = p1.left
                    continue
                else:
                    p2.right = None
            else:
                res.append(p1.val)
            p1 = p1.right
        
        return res
相关推荐
yaoxin52112311 小时前
384. Java IO API - Java 文件复制工具:Copy 示例完整解析
java·开发语言·python
Greyson111 小时前
Layui表格如何使用第三方插件实现树形展示.txt
jvm·数据库·python
2401_8716965211 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
木子墨51612 小时前
LeetCode 热题 100 精讲 | 并查集篇:最长连续序列 · 岛屿数量 · 省份数量 · 冗余连接 · 等式方程的可满足性
数据结构·c++·算法·leetcode
xzal1212 小时前
python中,turtle基础知识笔记1
笔记·python·turtle
a95114164212 小时前
CSS如何实现元素隐藏不占位_使用display-none完全移除
jvm·数据库·python
rabbit_pro12 小时前
Python调用onnx模型
开发语言·python
AC赳赳老秦13 小时前
OpenClaw生成博客封面图+标题,适配CSDN视觉搜索,提升点击量
运维·人工智能·python·自动化·php·deepseek·openclaw
m0_4939345314 小时前
如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS
jvm·数据库·python