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
相关推荐
困死,根本不会3 分钟前
蓝桥杯 Python 备考全攻略:从入门到进阶的学习路线
笔记·python·学习·算法·蓝桥杯
yuyu_03045 分钟前
AI识别手部异常
python·ai
袁袁袁袁满8 分钟前
基于亮数据MCP与LangGraph集成实现爬虫自动化
爬虫·python·网络爬虫·数据采集·爬虫实战·自动化采集·爬虫案例
非凡ghost11 分钟前
proDAD ReSpeedr:专业视频变速编辑的利器
java·网络·windows·python·音视频·软件需求
Oueii15 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
Jackey_Song_Odd17 分钟前
Part 1:Python语言核心 - 缩进与代码块
开发语言·python
码农时代者25 分钟前
拒绝重复造轮子!开发者如何靠“高质量源码”实现项目高效交付?
java·python·php
郝学胜-神的一滴31 分钟前
深度学习入门基石:PyTorch张量核心技术全解析
人工智能·pytorch·python·深度学习·算法·机器学习
Frostnova丶38 分钟前
(10)LeetCode 560. 和为K的子数组
算法·leetcode·哈希算法
前端小趴菜~时倾40 分钟前
python爬虫学习第二课-流程控制
爬虫·python·学习