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))