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
相关推荐
缘友一世3 分钟前
PyCharm连接autodl平台服务(python解释器&jupyter lab)
python·jupyter·pycharm
a程序小傲10 分钟前
得物Java面试被问:方法句柄(MethodHandle)与反射的性能对比和底层区别
java·开发语言·spring boot·后端·python·面试·职场和发展
华研前沿标杆游学38 分钟前
2026走进滕讯:小游戏×大模型产业交流记
python
_codemonster1 小时前
计算机视觉入门到实战系列(八)Harris角点检测算法
python·算法·计算机视觉
默默前行的虫虫1 小时前
nicegui的3D可视化
python
hui函数1 小时前
Python系列Bug修复|如何解决 pip install -e . 安装报错 “后端不支持可编辑安装(PEP 660)” 问题
python·bug·pip
二哈喇子!1 小时前
PyTorch与昇腾平台算子适配:从注册到部署的完整指南
人工智能·pytorch·python
im_AMBER1 小时前
Leetcode 100 在链表中插入最大公约数
数据结构·c++·笔记·学习·算法·leetcode·链表
FPGAI1 小时前
Python之函数
开发语言·python
踩坑记录1 小时前
leetcode hot100 15. 三数之和 medium
算法·leetcode·职场和发展