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
相关推荐
2301_773553622 小时前
golang如何理解编译指示pragma_golang编译指示pragma策略
jvm·数据库·python
qq_342295822 小时前
c++字符串运算_连接、比较、输入输出等运算符重载应用
jvm·数据库·python
【建模先锋】2 小时前
精品数据分享 | 锂电池数据集(10)基于阻抗的锂离子电池在不均衡使用情况下的性能预测
人工智能·python·深度学习·锂电池·锂电池寿命预测·锂电池数据集·剩余寿命预测
m0_746752302 小时前
如何生成ADDM报告_@addmrpt.sql自动数据库诊断监控工具
jvm·数据库·python
2301_814809862 小时前
如何快速查询SQL中的重复记录:GROUP BY与COUNT统计
jvm·数据库·python
m0_684501982 小时前
如何配置DG的备库延迟应用_DELAY参数实现在备库防范主库人为误操作逻辑错误
jvm·数据库·python
m0_515098422 小时前
Redis怎样强行终止陷入死循环的Lua脚本
jvm·数据库·python
2301_817672262 小时前
SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
jvm·数据库·python
2501_914245932 小时前
mysql如何进行表空间传输恢复_mysql transport tablespace实战
jvm·数据库·python
qq_330037992 小时前
MongoDB的聚集索引怎么用_Clustered Collections的插入性能优化
jvm·数据库·python