class Solution {
public List<String> generateParenthesis(int n) {
List<String> ans = new ArrayList<>();
generateParenthesis(ans, n, "", 0, 0);
return ans;
}
private void generateParenthesis(List<String> ans, int n, String s, int left, int pair){
if(pair == n){
ans.add(s);
return;
}
if(left + pair < n) generateParenthesis(ans, n, s+"(", left+1, pair);
if(left > 0) generateParenthesis(ans, n, s+")", left-1, pair+1);
}
}
原文:https://www.cnblogs.com/xiafrog/p/14371309.html