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
相关推荐
初次攀爬者22 分钟前
力扣解题-无重复字符的最长子串
后端·算法·leetcode
柒.梧.27 分钟前
Java构造器精讲:从基础特征到权限修饰符
开发语言·python
圣保罗的大教堂44 分钟前
leetcode 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串 中等
leetcode
搬砖者(视觉算法工程师)1 小时前
PyApp:一种将 Python 工程打包为可执行文件的简易方法
python
洛的地理研学1 小时前
gma 绘制唐都畿道一府四州
python·gma 教程
张3蜂1 小时前
Python变量与命名规范:从入门到精通
开发语言·python
秦始皇爱找茬2 小时前
Playwright Python Windows 下 headful Chromium 崩溃排查经验分享
python·ui自动化·playwright
十铭忘2 小时前
动作识别12——yolo26s-pose+PoseC3D第1篇之标注工具升级2.0
人工智能·python·深度学习
才兄说2 小时前
机器人租售配合齐不齐?多人同步操作
python
Trouvaille ~2 小时前
【动态规划篇】专题(二):路径问题——在网格图中的决策艺术
c++·算法·leetcode·青少年编程·动态规划