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
相关推荐
深蓝电商API12 分钟前
初级爬虫反爬应对:解决 403、IP 限制的简单方法
爬虫·python
闲人编程42 分钟前
Python协程的演进:从yield到async/await的完整历史
java·前端·python·async·yield·await·codecapsule
睿思达DBA_WGX1 小时前
使用 Python 的第三方库 xlrd 读取 Excel 文件
python·excel
做怪小疯子1 小时前
LeetCode 热题 100——链表——相交链表
算法·leetcode·链表
大佬,救命!!!1 小时前
python实现五子棋
开发语言·python·个人开发·pygame·少儿编程·五子棋
while(努力):进步2 小时前
5G与物联网:连接万物的数字化未来
leetcode
明知道的博客4 小时前
解决WSL环境下DeepSeek-OCR运行时内存不足问题
python·ocr·deepseek·deepseek-ocr
2501_941804324 小时前
C++在高性能互联网服务开发与系统优化中的应用与实战经验解析
leetcode
FreeCode4 小时前
LangGraph1.0智能体开发:Graph API概念与设计
python·langchain·agent
test管家5 小时前
如何在Python中使用SQLite数据库进行增删改查操作?
python