本题注意点:函数嵌套避免全局变量(leaves)、 或者直接返回list(version2)
def leafSimilar(root1, root2):
"""
:type root1: TreeNode
:type root2: TreeNode
:rtype: bool
"""
def get_leaves(root):
leaves = []
def preorder(root):
if root == None:
return
if root.left == None and root.right == None:
leaves.append(root.val)
preorder(root.left)
preorder(root.right)
preorder(root)
return leaves
return get_leaves(root1) == get_leaves(root2)
# version2:
# def leaf(root):
# if not root: return []
# if not root.left and not root.right: return [root.val]
# return leaf(root.left) + leaf(root.right)
#
#
# if leaf(root1) == leaf(root2): return True
# return False