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
相关推荐
Danceful_YJ几秒前
28. 门控循环单元(GRU)的实现
pytorch·python·深度学习
三排扣3 分钟前
手搓transformer
pytorch·python·transformer
ZhengEnCi5 分钟前
P3B-90%初学者参数传错位置?合格程序员都这样选择参数类型
python
程序员晚枫14 分钟前
Python处理Excel的5个“神仙库”,办公效率直接翻倍!
python·excel
小兜全糖(xdqt)1 小时前
python ppt转pdf以及图片提取
python·pdf·powerpoint
前端世界1 小时前
用Python打造智能成绩分析系统:从异常处理到断言验证的全流程实战
服务器·数据库·python
yaoxin5211231 小时前
229. Java 集合 - 操作集合中的多个元素(批量操作)
java·开发语言·python
岁岁岁平安1 小时前
python 配置pip镜像源
python
在人间负债^1 小时前
从Python到仓颉:核心项目内容迁移实践
开发语言·python·鸿蒙·仓颉
云和数据.ChenGuang1 小时前
SyntaxError: Non-UTF-8 code starting
人工智能·python·numpy