题解 | #二叉树的前序遍历#
二叉树的前序遍历
https://www.nowcoder.com/practice/5e2135f4d2b14eb8a5b06fab4c938635
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param root TreeNode类
# @return int整型一维数组
#
class Solution:
def preorderTraversal(self , root: TreeNode) -> List[int]:
# write code here
l=[]
results=self.preorder(l,root)
return results
def preorder(self,l:List,root:TreeNode):
if not root:
return
else:
l.append(root.val)
self.preorder(l,root.left)
self.preorder(l,root.right)
return l
前序遍历:根左右的顺序,使用递归的思路:
先把根节点放到list中,在递归考虑子问题:把左子结点作为新的根节点,看做一个新的问题,递归调用preorder函数,再递归考虑右子节点
#我的实习求职记录#实习算法题题解 文章被收录于专栏
实习算法题
