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
相关推荐
CryptoRzz10 分钟前
如何高效对接美股实时行情?StockTV API 实战集成指南
java·python·flask·区块链·maven·symfony
Jackson@ML12 分钟前
2026最新版Python 3.14.2安装使用指南
开发语言·python
飞Link16 分钟前
指令调整阶段中的通用模型蒸馏、模型自我提升和数据扩充
python·算法·数据挖掘
qunaa010116 分钟前
轮胎识别号码检测▸基于YOLO11-ContextGuideFPN的高精度检测模型实现与部署
python
Channing Lewis18 分钟前
正则灾难性回溯(catastrophic backtracking)
开发语言·python
nju_spy39 分钟前
力扣每日一题 2026.1
算法·leetcode·二分查找·动态规划·最小生成树·单调栈·最长公共子序列
Remember_9931 小时前
【LeetCode精选算法】二分查找专题一
java·数据结构·算法·spring·leetcode·哈希算法
weixin_462446231 小时前
Python用Flask后端解析Excel图表,Vue3+ECharts前端动态还原(附全套代码)
前端·python·flask·echats
偷星星的贼111 小时前
如何为开源Python项目做贡献?
jvm·数据库·python