给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
数据范围:二叉树的节点数量满足 ,二叉树节点的值满足 ,树的各节点的值各不相同
示例 1:
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None class Solution: def preorderTraversal(self, root: TreeNode) -> List[int]: result = [] self.preorderTraversalRecursive(root, result) return result def preorderTraversalRecursive(self, node, result): if not node: return # 访问当前节点的值 result.append(node.val) # 递归遍历左子树 self.preorderTraversalRecursive(node.left, result) # 递归遍历右子树 self.preorderTraversalRecursive(node.right, result)
class Solution: def preorderTraversal(self , root: TreeNode) -> List[int]: # write code here if not root: return [] return [root.val] + self.preorderTraversal(root.left) + self.preorderTraversal(root.right)
class Solution: l = [] def preorderTraversal(self , root: TreeNode) -> List[int]: # write code here if root == None: return self.l.append(root.val) self.preorderTraversal(root.left) self.preorderTraversal(root.right) return self.l
class Solution: def preorderTraversal(self , root: TreeNode) -> List[int]: # write code here res = [] def preorder(root): if not root: return None res.append(root.val) preorder(root.left) preorder(root.right) preorder(root) return res