题解:
二叉树前序遍历,从根节点开始,先读取根节点的值,再依次遍历其左右子树。
采用递归的思想:
结果保存为result
先判断根节点root是否为空,不为空将其值加入result,若左子树不为空则遍历左子树,然后遍历右子树。
class TreeNode(object): def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution(object): def preorderTraversal(self, root: TreeNode): result = [] if root is None: return result result.append(root.val) if root.left is not None: self.order(root.left,result) if root.right is not None: self.order(root.right,result) return result def order(self, node:TreeNode, result): if node is not None: result.append(node.val) if node.left is not None: self.order(node.left,result) if node.right is not None: self.order(node.right,result)
结果: