二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
AC代码# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
if root == None:
return []
else:
temp = [root.val]
lef = self.preorderTraversal(root.left)
rig = self.preorderTraversal(root.right)
for v in lef:
temp.append(v)
for v in rig:
temp.append(v)
return temp
官方代码
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
def preorder(root: TreeNode):
if not root:
return
res.append(root.val)
preorder(root.left)
preorder(root.right)
res = list()
preorder(root)
return res
# 作者:LeetCode-Solution
1、这个内置函数的写法很有意思,比调用类方法简介明了很多 2、直接定义global的变量用来保存遍历的结果可以不考虑复杂的引用或者返回列表格式问题