[22] 括号生成

/**
 * @param {number} n
 * @return {string[]}
 */
var generateParenthesis = function (n) {
  const ans = [];
  const dfs = (s, open, close) => {
    if (open > n || close > open) {
      return;
    }
    if (s.length === 2 * n) {
      ans.push(s);
      return;
    }
    dfs(s + "(", open + 1, close);
    dfs(s + ")", open, close + 1);
  }
  dfs("", 0, 0);
  return ans;
};

 

posted @ 2023-11-30 13:36  人恒过  阅读(11)  评论(0)    收藏  举报