Skip to content

Latest commit

 

History

History
60 lines (34 loc) · 1.28 KB

0872._Leaf-Similar_Trees.md

File metadata and controls

60 lines (34 loc) · 1.28 KB

872. Leaf-Similar Trees

难度: Easy

刷题内容

原题连接

内容描述


Consider all the leaves of a binary tree.  From left to right order, the values of those leaves form a leaf value sequence.



For example, in the given tree above, the leaf value sequence is (6, 7, 4, 9, 8).

Two binary trees are considered leaf-similar if their leaf value sequence is the same.

Return true if and only if the two given trees with head nodes root1 and root2 are leaf-similar.

 

Note:

Both of the given trees will have between 1 and 100 nodes.

解题方案

思路 1 - 时间复杂度: O(N)- 空间复杂度: O(N)******

先递归找到两颗树的叶子结点集合,再比较是否相等。beats 100%

class Solution(object):
    def leafSimilar(self, root1, root2):
        """
        :type root1: TreeNode
        :type root2: TreeNode
        :rtype: bool
        """
        def findleaf(root):
            if not root: 
                return []
            if not root.left and not root.right: 
                return [root.val]
            return findleaf(root.left) + findleaf(root.right)
        
        return findleaf(root1) == findleaf(root2)