classSolution{int n;List<String> result;publicList<String>generateParenthesis(int n){
result =newArrayList<>();this.n = n;helper("",0,0);return result;}privatevoidhelper(String parenthesis,int left,int right){if(left == n && right == n)
result.add(parenthesis);if(left < n)helper(parenthesis +"(",left +1, right);if(right < n && right < left)helper(parenthesis +")", left , right +1);}}