LeetCode算法题——22. Generate Parentheses
来源:互联网 发布:淘宝旺铺装修模板 编辑:程序博客网 时间:2024/06/08 18:04
题目:
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:
[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
解题思路:
通过递归的思想,知左括号个数只要不为0就可以直接输出,而右括号个数必须大于左括号个数时才能输出,否则不符合规则
C++实现如下:
#include <iostream>#include <vector>using namespace std; class Solution {public:string s="";vector<string> res; vector<string> generateParenthesis(int n) { vector<string> v; iterEveryPos(n,n); return res; } void iterEveryPos(int l,int r){ if(l==0&&r==0){ res.push_back(s); }else{ if(l>0){ s=s+"("; iterEveryPos(l-1,r); s=s.substr(0,s.size()-1); } if(r>l){ s=s+")"; iterEveryPos(l,r-1); s=s.substr(0,s.size()-1); } } }};int main(){Solution sol;vector<string> res=sol.generateParenthesis(3);for(int i=0;i<res.size();i++){cout<<res[i]<<endl;}return 0;}
0 0
- LeetCode算法题——Generate Parentheses
- LeetCode算法题——22. Generate Parentheses
- Leetcode——22. Generate Parentheses
- LeetCode——Generate Parentheses
- LeetCode——Generate Parentheses
- LeetCode——Generate Parentheses
- leetcode——Generate Parentheses
- leetcode——Generate Parentheses
- python写算法题:leetcode: 22. Generate Parentheses
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 零xml配置Spring MVC文件上传
- jQuery选择器实例列表
- ZOJ 1027 Human Gene Functions(最长公共子序列)
- mybatis3--3.mybatis开发dao的方法
- 【51单片机】常用波特率初值表
- LeetCode算法题——22. Generate Parentheses
- Java 多线程(一)——多线程概述
- 正则表达式知识总结
- 安装APK在android7.0以下版本出现INSTALL_PARSE_FAILED_NO_CERTIFICATES错误的解决方案
- 判断是否第一次登录
- RPC
- js 的方法
- 母牛的故事 HDU
- CountDownLatch类的基本使用