二叉树的前序遍历
给定一个二叉树,返回它的 前序 遍历。
示例:
输入: [1,null,2,3]
1
2 / 3输出: [1,2,3]
迭代
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
if root == None:
return []
res = []
stack = [root]
while stack:
root = stack.pop()
res.append(root.val)
if root.right != None:
stack.append(root.right)
if root.left != None:
stack.append(root.left)
return res
递归
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
if not root:
return []
return [root.val] + self.preorderTraversal(root.left) + self.preorderTraversal(root.right)