Python全系列 教程
3567个小节阅读:5929.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
若二叉树非空,则依次执行如下操作:
访问根节点
遍历左子树
遍历右子树
xxxxxxxxxx
def pre_order_traversal(self, root: Optional[TreeNode]) -> List[int]:
# 创建一个集合存储数据
res = []
def pre_order(root:TreeNode):
# 判断root是否有值
if not root:
return
else:
# 获取根节点
res.append(root.val)
# 获取左节点
preorder(root.left)
# 获取右节点
preorder(root.right)
preorder(root)
return res
xxxxxxxxxx
class Solution:
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
# 创建res存储结果
res = []
stack = [] # 存储分支节点
# 只要root有数据 或者stack的数据
while root or stack:
# 只要root有数据,第一轮循环把左节点搞定
while root:
res.append(root.val)
stack.append(root)
# 获取左节点
root = root.left
# 取出右节点,遍历
root = stack.pop().right
return res