欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode 144 二叉树的前序遍历

程序员文章站 2022-03-03 11:14:05
...

 

  1. 题目链接 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/submissions/

  2. 题目描述

    1. 给定一个二叉树,返回它的 前序 遍历。
    2. 输入: [1,null,2,3]  
         1
          \
           2
          /
         3 
      
      输出: [1,2,3]
  3. 解题思路

    1. 使用栈来模拟递归。注意先入栈右子树,再入栈左子树
  4. 代码

    1. class Solution:
          def preorderTraversal(self, root: TreeNode) -> List[int]:
              if not root:
                  return []
              stack = [root]
              res = []
              while stack:
                  tmp = stack.pop()
                  res.append(tmp.val)
                  if tmp.right:
                      stack.append(tmp.right)
                  if tmp.left:
                      stack.append(tmp.left)
              return res