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
相关推荐
Adios7946 小时前
设置交集大小至少为2
数据结构·算法·leetcode
love530love7 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
cui_ruicheng9 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
_Jimmy_10 小时前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
用户83562907805110 小时前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
AC赳赳老秦12 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
FoldWinCard13 小时前
D6 Python 基础语法 --- 保留关键字
开发语言·python
暮暮祈安13 小时前
Celery 新手入门指南
java·数据库·python·flask·httpx
JustNow_Man13 小时前
每日高频场景英文口语
python
风吹心凉14 小时前
python3基础2026.7.22
开发语言·python