classSolution(object): defgenerateTreesR(self, start, end): if start > end: return [None]
rs = [] for i in xrange(start, end + 1): lefts = self.generateTreesR(start, i - 1) rights = self.generateTreesR(i + 1, end) for left in lefts: for right in rights: node = TreeNode(i) node.left = left node.right = right rs.append(node) return rs