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
相关推荐
Csvn8 小时前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89189 小时前
Python主流框架全解析
开发语言·python
sg_knight9 小时前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财9 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4089 小时前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533999 小时前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz10 小时前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据10 小时前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
Hui Baby10 小时前
springboot读取配置文件
后端·python·flask
阿Y加油吧10 小时前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python