题目
可折叠的树是中线对称的
思路
对于一课可折叠的树,左边节点的左孩子和右边节点的右孩子要同时不存在或不存在,或者左节点的右孩子和右节点的左孩子同时不存在或者不存在。
代码
def isfoldable(self):
return self.__isfoldable(self.root._left,self.root._right)
def __isfoldable(self,nodeA,nodeB):
if nodeA is None and nodeB is None:
return True
if nodeA is None or nodeB is None:
return False
return self.__isfoldable(nodeA._left,nodeB._right) and self.__isfoldable(nodeA._right,nodeB._right)