β Generate all parentheses(Contest)
Generate all parentheses easy Time Limit: 2 sec Memory Limit: 128000 kB
Problem Statement :
Given an integer N, print all balanced bracket strings of length 2*N. A bracket string is a string that contains only '(' and ')' as its characters.
- Empty string is a balanced bracket string 
- If S is a balanced bracket string, so is (S) 
- If S and T are balanced bracket strings, so is ST Print in lexicographical order. '(' appears before ')' in lexicographical orderInputThe single line of input containing an integer N. 1 <= N <= 15OutputPrint all possible balanced bracket strings of length 2*N in a separate line.ExampleSample Input 1: 1 Sample Output 1: () Sample Input 2: 3 Sample Output 2: ((())) (()()) ()(()) ()()() Explanation: It is printed in lexicographical order . 
link:https://my.newtonschool.co/playground/code/sapyq16sbt10/
import java.io.*; // for handling input/output
import java.util.*; // contains Collections framework
// don't change the name of this class
// you can add inner classes if needed
class Main {
      public static ArrayList generateParenthesis(ArrayList<String> list1,int n){
        if(n==1)
        return list1;
        else{
            ArrayList<String>list2 = new ArrayList<>();
            for(int i=0;i<list1.size();i++)
            list2.add("(" + list1.get(i) + ")");
            for(int i=0;i<list1.size();i++)
            list2.add("()" + list1.get(i));
            return generateParenthesis(list2, n-1);
        }
    }
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        ArrayList<String> list1= new ArrayList<>();
        list1.add("()");
        list1 = generateParenthesis(list1,n);
        for(int i =0;i<list1.size();i++)
        System.out.println(list1.get(i));
    }
}Last updated