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
相关推荐
Robot侠5 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
hh随便起个名5 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
等....5 小时前
Miniconda使用
开发语言·python
Java&Develop6 小时前
Aes加密 GCM java
java·开发语言·python
LYFlied7 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
爱笑的眼睛117 小时前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
Rose sait8 小时前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python
过期动态8 小时前
JDBC高级篇:优化、封装与事务全流程指南
android·java·开发语言·数据库·python·mysql
一世琉璃白_Y9 小时前
pg配置国内数据源安装
linux·python·postgresql·centos
liwulin05069 小时前
【PYTHON】COCO数据集中的物品ID
开发语言·python