博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
22. Generate Parentheses
阅读量:5856 次
发布时间:2019-06-19

本文共 1026 字,大约阅读时间需要 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:

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

解题思路:

这个是用迭代方法,当左括号和又括号的个数相同且等于输入n时将此时的字符串存入vector中。

这题是用回溯方法估计会更好些。

代码:

1 class Solution { 2 public: 3     vector
generateParenthesis(int n) { 4 vector
ret; 5 generate(n, 0, 0, "", ret); 6 return ret; 7 } 8 void generate(int n, int numl, int numr, string str, vector
& ret) { 9 if (numl < numr || numl > n || numr > n)10 return;11 if (numl == n && numr == n)12 ret.push_back(str);13 if (numl < n) {14 generate(n, numl+1, numr, str+"(", ret);15 generate(n, numl, numr+1, str+")", ret);16 } else {17 generate(n, numl, numr+1, str+")", ret);18 }19 }20 };
View Code

 

转载于:https://www.cnblogs.com/gsz-/p/9553616.html

你可能感兴趣的文章
html 中shadow DOM 的使用
查看>>
springboot2.x版本整合redis(单机/集群)(使用lettuce)
查看>>
[linux]windows无法访问samba的安全性问题(关闭selinux)
查看>>
让动态创建的ActiveX控件响应Windows消息
查看>>
在top命令下kill和renice进程
查看>>
获取docker容器的ip地址
查看>>
有关沟通的常识
查看>>
[SPLUSH WAVE] DragonMahjongg3~天空編~ 1.07版修改器+界面汉化
查看>>
VS2010安装MVC3
查看>>
Oracle ERP系统借贷关系
查看>>
C++ 中使用explicit关键字避免隐式转换
查看>>
Mysql数据库操作
查看>>
计算机等级考试评分系统
查看>>
Android ----Intent 的各种打开文件 doc word
查看>>
[PAL编程规范]SAP HANA PAL多项式回归预测分析Polynomial Regression编程规范FORECASTWITHPOLYNOMIALR(预测)...
查看>>
设备代工富士康加入Firefox OS阵营,下周将发布搭载Firefox OS的设备
查看>>
ios7毛玻璃效果实现
查看>>
loj 1046(bfs)
查看>>
DirectX 发展历程
查看>>
获取WMI硬件清单
查看>>