题解 | #二叉树的前序遍历#
二叉树的前序遍历
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函数,再递归考虑右子节点
#我的实习求职记录#实习算法题题解 文章被收录于专栏
实习算法题