def generate(self, start, end):
        subtree_roots = []

        # trivial
        if start > end:
            subtree_roots.append(None)
            return subtree_roots

        # pivot
        # list of unique subtrees = list of unique left subtrees, pivot, list of unique right subtrees
        for pivot in range(start, end+1):
            left_subtree_roots = self.generate(start, pivot-1)
            right_subtree_roots = self.generate(pivot+1, end)

            for left_node in left_subtree_roots:
                for right_node in right_subtree_roots:
                    pivot_node = TreeNode(pivot)
                    pivot_node.left = left_node
                    pivot_node.right = right_node

                    subtree_roots.append(pivot_node)

        return subtree_roots
Run query from specific data source.
dataset/ETHPy150Open algorhythms/LeetCode/096 Unique Binary Search Trees II.py/Solution.generate--crossover with--dataset/ETHPy150Open getredash/redash/redash/query_runner/python.py/Python.execute_query