包含n个合法括号的
package 递归.递归进阶;
import java.util.HashSet;
import java.util.Set;
public class 合法括号 {
public static void main(String[] args) {
Set<String> parenthesis = parenthesis(3);
System.out.println(parenthesis);
}
public static Set<String> parenthesis(int n){
Set<String> s_n =new HashSet<>();
if (n==1){
s_n.add("()");
return s_n;
}
Set<String> s_n_1 =parenthesis(n-1);
for (String eOfN_1 : s_n_1) {
s_n.add("()"+eOfN_1);
s_n.add(eOfN_1+"()");
s_n.add("("+eOfN_1+")");
}
return s_n;
}
}