zoukankan      html  css  js  c++  java
  • LeetCode 144. Binary Tree Preorder Traversal 20170706

    Given a binary tree, return the preorder traversal of its nodes' values.

    For example:
    Given binary tree {1,#,2,3},

       1
        
         2
        /
       3
    

    return [1,2,3].

    Note: Recursive solution is trivial, could you do it iteratively?

    题目大意:给定一棵树,返回它的前序遍历结果。

    解题思路:本题难度不大,想了一下,最简单的做法还是递归,先判断当前节点是否为空,如果不为空,则把当前的值加入集合当中,然后递归左子树和右子树,在递归时将其结果与原集合取并集。

    class Solution(object):
      def preorderTraversal(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        A = []
        if root != None:
          A.append(root.val)
        left = self.preorderTraversal(root.left)
        A.extend(left)
        right = self.preorderTraversal(root.right)
        A.extend(right)
        return A

  • 相关阅读:
    正向代理和反向代理
    轮询和长轮询
    偏函数 方法与函数的区别
    pipreqs 生成项目依赖的第三方包
    git安装与使用
    自动生成接口文档
    上线
    Android APK加固-完善内存dex
    Android APK加固-内存加载dex
    替换ClassLoader
  • 原文地址:https://www.cnblogs.com/fangdai/p/7125427.html
Copyright © 2011-2022 走看看