题目描述

给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合。

例如,给出n=3,解集为:
"((()))", "(()())", "(())()", "()(())", "()()()"

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

For example, given n = 3, a solution set is:

"((()))", "(()())", "(())()", "()(())", "()()()"


示例1

输入

复制

1

输出

复制

["()"]
示例2

输入

复制

2

输出

复制

["(())","()()"]

class Solution {
public:
    /**
     *
     * @param n int整型
     * @return string字符串vector
     */
    void generateParenthesisAux(int n,int x ,int y,string s,vector<string> &ans){
        if (y==n)  ans.push_back(s);
        if (x<n) generateParenthesisAux(n, x+1, y,  s+"(", ans);
        if (x>y) generateParenthesisAux(n,  x, y+1, s+")", ans);
    }
    vector<string> generateParenthesis(int n) {
        // write code here
        vector <string> ans;
        generateParenthesisAux(n,0,0,"",ans);
        return ans;
    }
};

最新文章

  1. 分布式之ZookeeperMac安装
  2. Mpale 在汽车底盘悬架系统公差分析应用
  3. 简单好用的sshfs -- 通过ssh映射远程路径(转)
  4. WP开发笔记——不同Item显示不同ApplicationBar:适用于Pivot与Panorama
  5. percona-toolkit -1
  6. POJ - 3264 Balanced Lineup 线段树解RMQ
  7. (转载)VC/MFC 工具栏上动态添加组合框等控件的方法
  8. 解决sqlserver2008 r2 登陆时报错:provider 命名管道提供程序, error40 错误2
  9. MellPlayer, 基于网易云歌单的命令行播放器
  10. HTML中在a标签中添加onclick事件
  11. Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
  12. android异步任务asyntask详解
  13. min_25筛题目总结
  14. Scikit-learn 安装
  15. Java 学习笔记 执行外部命令 包装类 枚举类型
  16. 【Git学习二】深入了解git checkout命令
  17. Grafana+Prometheus打造全方位立体监控系统
  18. Windows结构化异常处理浅析
  19. Twitter OA prepare: Equilibrium index of an array
  20. nodejs中req.body对请求参数的解析问题

热门文章

  1. 微型直流电机控制基本方法 L298N模块
  2. DES加解密算法(C语言实现)
  3. vue去掉地址栏#号
  4. 获取Jetbrain全家桶激活码
  5. Windows VS Code 配置 C/C++ 开发环境
  6. 多测师讲解自动化测试 _RF封装_(三层模式)高级讲师肖sir
  7. EfCore3的OwnedType会导致Sql效率问题
  8. go mod模式,引入自己的包,goland飘红
  9. centos下安装mongodb 通过shell脚本
  10. 《Graph-Based Reasoning over Heterogeneous External Knowledge for Commonsense Question Answering》论文整理