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
相关推荐
武帝为此11 分钟前
【RC4加密算法介绍】
网络·python·算法
甄心爱学习35 分钟前
Python 中 combinations 的详细用法
开发语言·python
狐5738 分钟前
2026-01-17-LeetCode刷题笔记-3047-求交集区域内的最大正方形面积
笔记·算法·leetcode
开开心心就好43 分钟前
内存清理工具开源免费,自动优化清理项
linux·运维·服务器·python·django·pdf·1024程序员节
浔川python社1 小时前
浔川AI翻译v6.1.0版本正式发布 全面升级安全体验与交互效率
python
开开心心_Every1 小时前
图片批量压缩工具:支持有损无损两种模式
python·游戏·微信·django·pdf·excel·语音识别
有一个好名字1 小时前
力扣-咒语和药水的成功对数
java·算法·leetcode
GIS之路1 小时前
ArcGIS Pro 实现影像波段合成
前端·python·信息可视化
edisao1 小时前
二。星链真正危险的地方,不在天上,而在网络底层
大数据·网络·人工智能·python·科技·机器学习
minglie11 小时前
micropython_spiFlash_w25qxx
开发语言·python