#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @return string字符串一维数组
#
class Solution:
    def generateParenthesis(self , n: int) -> List[str]:
        # write code here
        res=[]
        current=[]
        def backtrack(current,n,pos,open,close,res):
            if pos==n*2:
                res.append("".join(current))
            if open<n:
                current.append("(")
                backtrack(current,n,pos+1,open+1,close,res)
                current.pop()
            if open>close:
                current.append(")")
                backtrack(current,n,pos+1,open,close+1,res)
                current.pop() 
        backtrack(current,n,0,0,0,res)
        return res