Leetcode_generate-parentheses
来源:互联网 发布:vs2013mfc编程实例 编辑:程序博客网 时间:2024/05/16 04:50
地址:http://oj.leetcode.com/problems/generate-parentheses/
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
参考代码:
class Solution {public: int g_n; void dfs(vector<string>&vec, string str, int left) { if(left==0) { for(int i = str.length(); i<2*g_n; ++i) str+=')'; vec.push_back(str); return; } if(str.length()<2*(g_n-left)) { str+=')'; dfs(vec, str, left); str = str.substr(0, str.length()-1); } str+='('; dfs(vec, str, left-1); } vector<string> generateParenthesis(int n) { vector<string>vec; if(n<=0) return vec; string str; this->g_n = n; dfs(vec, str, n); return vec; }};
SECOND TRIAL
//left是剩余应该填入的'('的个数, diff是'(' 比 ')' 多出的个数, diff应该恒>=0
class Solution {private: int n; void dfs(vector<string>&ans, string str, int left, int diff) { if(left == n && !diff) { ans.push_back(str); return; } if(left<n) { str += '('; dfs(ans, str, left+1, diff+1); if(diff>0) { str[str.length()-1]=')'; dfs(ans, str, left, diff-1); } } else { str += ')'; dfs(ans, str, left, diff-1); } }public: vector<string> generateParenthesis(int n) { this->n = n; vector<string>ans; string str; dfs(ans, "", 0, 0); return ans; }};
0 0
- Leetcode_generate-parentheses
- Generate Parentheses & Valid Parentheses
- Parentheses Balance
- Generate Parentheses
- Valid Parentheses
- Generate Parentheses
- Valid Parentheses
- Generate Parentheses
- 产生Parentheses
- Valid Parentheses
- Generate Parentheses
- Generate Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Generate Parentheses
- Valid Parentheses
- Generate Parentheses
- 把你的收入分成五份
- Oracle RBO、CBO简介
- Javascript是单线程的深入分析
- 初学JQuery基础
- 65种应聘回答技巧
- Leetcode_generate-parentheses
- windows 7 正确禁用 IPv6
- 禁用iOS7系统自带的手势 pop
- 黑马程序员--- 学习笔记(第八天)
- Android 开发人员必须掌握的 10 个开发工具
- 《黑马程序员》 静态方法中不能直接创建内部类实例对象的原因
- Editplus的PHP调试环境配置
- 5 Bash Case Statement Examples
- 甚至,估计对皇帝来说,萧澈和皇后也信不过。