题目
问题描述
由1对括号,可以组成一种合法括号序列:()。
由2对括号,可以组成两种合法括号序列:()()、(())。
由4对括号组成的合法括号序列一共有多少种?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案
14
题解
手算
这是一个填空题,只需要填写答案即可。
这里深度为1的序列有一种为:()()()(),
深度为2的有7种:(())()()、()(())()、()()(())、(()()())、(()())()、()(()())、(())(()),
深度为3的有5种:((()))()、()((()))、((())())、(()(()))、((()())),
深度为4的有1种:(((()))),
所以答案为14。
代码
public class LegalBrackets {
public static int count = 0, n = 4;
public static void main(String[] args) {
f(0, 0);
System.out.println(count);
}
public static void f(int left, int right) {
if (left == n) {
count++;
return;
}
f(left + 1, right);
if (left > right) {
f(left, right + 1);
}
}
}