Generate Parentheses (Leetcode 22)

Problem Link: https://leetcode.com/problems/generate-parentheses/

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        
        def recursion(s,openp,closedp,n):
        
            # if n==openp==closedp, return s
            if(openp==closedp==n):
                ans.append(s)
                return
                
            # if openp<n, we can add more (
            if(openp<n):
                recursion(s+"(",openp+1,closedp,n)
                
            # if closedp<openp, we must add )
            if(closedp<openp):
                recursion(s+")",openp,closedp+1,n)
            
        ans=[]
        recursion("",0,0,n)
        return ans    

Last updated