Пример #1
0
    def isSymmetric(self, root):
        if(root==None):
            return True
        return self._isChildSymmetric(root.left,root.right)
    
    def _isChildSymmetric(self,leftNode,rightNode):
        if(leftNode==None and rightNode==None):
            return True
        if(leftNode!=None and rightNode!=None):
            if(leftNode.val==rightNode.val):
                t1=self._isChildSymmetric(leftNode.left,rightNode.right)
                t2=self._isChildSymmetric(leftNode.right,rightNode.left)
                return t1 and t2
        return False 


builder=BinaryTree()
obj=Solution(builder)
nums=[3,0,4,None,2,None,None,None,None,1]   
root=builder.createTree(nums)
obj.trimBST(root,1,3)

nums=[1,2,2,3,4,4,3]
root=builder.createTree(nums)
print(obj.isSymmetric(root))