Leetcode 872. Leaf-Similar Trees

找出叶子节点即可.

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def leafSimilar(self, root1: TreeNode, root2: TreeNode) -> bool:
        leaf1,leaf2=[],[]
        stack=[root1]
        while stack:
            node=stack.pop()
            if (not node.left) and (not node.right):
                leaf1.append(node.val)
            else:
                if node.right:
                    stack.append(node.right)
                if node.left:
                    stack.append(node.left)
        stack=[root2]
        while stack:
            node=stack.pop()
            if (not node.left) and (not node.right):
                leaf2.append(node.val)
            else:
                if node.right:
                    stack.append(node.right)
                if node.left:
                    stack.append(node.left)
        return leaf1==leaf2
        
        
        

 

posted @ 2019-04-23 05:25  周洋  阅读(213)  评论(0编辑  收藏  举报