leetcode 872. 叶子相似的树

短命女 2022-04-16 05:39 261阅读 0赞

请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列

tree.png

举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树。

如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。

如果给定的两个头结点分别为 root1root2 的树是叶相似的,则返回 true;否则返回 false

提示:

  • 给定的两颗树可能会有 1100 个结点。

    Definition for a binary tree node.

    class TreeNode(object):

    def init(self, x):

    self.val = x

    self.left = None

    self.right = None

    class Solution(object):

    1. def leafSimilar(self, root1, root2):
    2. """
    3. :type root1: TreeNode
    4. :type root2: TreeNode
    5. :rtype: bool
    6. """
    7. leaves1 = []
    8. leaves2 = []
    9. self.inOrder(root1, leaves1)
    10. self.inOrder(root2, leaves2)
    11. return leaves1 == leaves2
    12. def inOrder(self, root, leaves):
    13. if not root:
    14. return
    15. self.inOrder(root.left, leaves)
    16. if not root.left and not root.right:
    17. leaves.append(root.val)
    18. self.inOrder(root.right, leaves)

发表评论

表情:
评论列表 (有 0 条评论,261人围观)

还没有评论,来说两句吧...

相关阅读

    相关 leetcode 872. 叶子相似

    请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。 ![tree.png][] 举个例子,如上图所示,给定一颗叶值序列为 `(6, 7,