原题链接:
https://leetcode.com/problems/generate-parentheses/description/
题意理解
就是说给定n,要求找出n对括号所有的合法情况。我直接递归一下不就行了嘛,反正应该是可以做的,除非爆栈。。那可能就要另外考虑一下了。
我的代码
class Solution {
private List<String> result;
public List<String> generateParenthesis(int n) {
result = new ArrayList<>();
generate(n, n, "");
return result;
}
private void generate(int x, int y, String s) {
if(x == 0 && y == 0) {
result.add(s);
return;
}
if(0 < x && x == y) {
generate(x - 1, y, s + '(');
} else if(0 < x && x < y) {
generate(x - 1, y, s + '(');
generate(x, y - 1, s + ')');
} else if(x == 0 && y > 0) {
generate(x, y - 1, s + ')');
}
}
}
看了一下最快的代码,做法也是递归,但是使用了char数组来进行了优化,所以可能快一点点吧