二叉树前序遍历(python)
具体做法:
- step 1:准备数组用来记录遍历到的节点值,Java可以用List,C++可以直接用vector。
- step 2:从根节点开始进入递归,遇到空节点就返回,否则将该节点值加入数组。
- step 3:依次进入左右子树进行递归。
def preorder(self, list: List[int], root: TreeNode):
# 遇到空节点则返回
if root == None:
return
# 先遍历根节点
list.append(root.val)
# 再取左子树
self.preorder(list, root.left)
# 最后取右子树
self.preorder(list, root.right)
def preorderTraversal(self , root: TreeNode) -> List[int]:
# 添加遍历结果的数组
list = []
# 递归前序遍历
self.preorder(list, root)
return list

浙公网安备 33010602011771号