题目地址: 链接
思路: 依然是简单的递归回溯
js
/**
* @param {number} n
* @return {string[]}
*/
var generateParenthesis = function(n) {
let ans = [];
const dfs = (lnum, rnum, str) => {
if(lnum + rnum === 2 * n) {
ans.push(str);
return;
}
if(lnum < n) dfs(lnum + 1, rnum, str + '(');
if(rnum < lnum) dfs(lnum, rnum + 1, str + ')')
}
dfs(0, 0, '');
return ans;
};