题目链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
难度:简单

描述:
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

提示:
节点数:[0, 100]

题解

  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. # def __init__(self, val=0, left=None, right=None):
  4. # self.val = val
  5. # self.left = left
  6. # self.right = right
  7. class Solution:
  8. def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
  9. ret = []
  10. def recursion(root):
  11. if root is None:
  12. return
  13. ret.append(root.val)
  14. recursion(root.left)
  15. recursion(root.right)
  16. recursion(root)
  17. return ret
  1. class Solution:
  2. def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
  3. if root is None:
  4. return []
  5. ret = []
  6. stk = [root]
  7. while stk != []:
  8. temp_node = stk.pop()
  9. ret.append(temp_node.val)
  10. if temp_node.right is not None:
  11. stk.append(temp_node.right)
  12. if temp_node.left is not None:
  13. stk.append(temp_node.left)
  14. return ret