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
相关推荐
m0_674294645 分钟前
mysql如何处理索引基数过低情况_mysql索引选择性分析
jvm·数据库·python
qq_3422958220 分钟前
c++怎么获取文件的压缩比例信息_Windows压缩卷特性【详解】
jvm·数据库·python
weixin_4585801222 分钟前
CSS如何控制列表间距_使用padding-left与盒模型
jvm·数据库·python
m0_6178814223 分钟前
Tailwind CSS如何实现固定定位布局_使用fixed与z-index控制CSS层级
jvm·数据库·python
m0_6742946438 分钟前
Cgo 中正确处理 const char- 类型回调参数的实践方法
jvm·数据库·python
justjinji1 小时前
Chart.js 4 中实现基于数据极值的垂直线性渐变填充
jvm·数据库·python
迷藏4941 小时前
# 发散创新:基于Selenium的自动化测试框架重构与实战优化在当今快速迭代的软件开
java·python·selenium·测试工具·重构
天选之子1231 小时前
Django基本概念入门(一)
python·django·sqlite
m0_684501981 小时前
CSS如何实现左图右文布局_利用float属性与清除浮动
jvm·数据库·python
jedi-knight1 小时前
深入浅入 AI Agent:基于 Python 与 ReAct 模式的自主智能体实现
人工智能·python