classSolution: defgenerateParenthesis(self, n: int) -> List[str]: if n == 0: return [""] results = [] self.dfs(n, n, "", results) return results defdfs(self, left, right, temp, results): if left > right or left < 0or right < 0: return if left == 0and right == 0: results.append(temp) self.dfs(left - 1, right, temp + "(", results) self.dfs(left, right - 1, temp + ")", results)