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
相关推荐
不知更鸟33 分钟前
前端报错:快速解决Django接口404问题
前端·python·django
4***721337 分钟前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
梁正雄1 小时前
1、python基础语法
开发语言·python
墨染点香2 小时前
LeetCode 刷题【172. 阶乘后的零】
算法·leetcode·职场和发展
做怪小疯子2 小时前
LeetCode 热题 100——链表——反转链表
算法·leetcode·链表
ituff2 小时前
微软认证考试又免费了
后端·python·flask
梁正雄3 小时前
2、Python流程控制
开发语言·python
做怪小疯子4 小时前
LeetCode 热题 100——矩阵——旋转图像
算法·leetcode·矩阵
Eric.Lee20214 小时前
ubuntu 安装 Miniconda
linux·运维·python·ubuntu·miniconda
无心水4 小时前
【Python实战进阶】1、Python高手养成指南:四阶段突破法从入门到架构师
开发语言·python·django·matplotlib·gil·python实战进阶·python工程化实战进阶