Generate Parentheses
来源:互联网 发布:linux 嗅探 编辑:程序博客网 时间:2024/06/04 19:18
每日算法——leetcode系列
问题 Generate Parentheses
Difficulty: Medium
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: vector<string> generateParenthesis(int n) { }};
翻译
括符生成
难度系数:中等
思路
此题难在要想到递归。
假设:左括符个数用left表示,右括符个数用right表示
递归终止条件: left = right = n
先要生成左括符,可以生成左括符的条件:left < n
生成右括符条件: right < left
代码
class Solution {public: vector<string> generateParenthesis(int n) { vector<string> result; if (n > 0) { generator(n, 0, 0, "", result); } return result; }private: void generator(int n, int left, int right, string s, vector<string> &result) { if (left == n && right == n) { result.push_back(s); return; } if (left < n) { generator(n, left+1, right, s + '(', result); } if (right < left) { generator(n, left, right + 1, s + ')', result); } }};
0 0
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- 涉及到指针、数组、堆栈、以及printf
- jar包中导入新的类
- LeetCode-24-Swap Nodes in Pairs(链表)-Medium
- Studio快捷键
- Myeclipse 解决 Myeclipse build workspace慢,validation javascript,jsp慢的问题
- Generate Parentheses
- setjmp用法
- bzoj3140: [Hnoi2013]消毒
- Java深入(面试常见题)
- Bootstrap list click 事件
- createJs游戏引擎
- HDU5600:N bulbs
- setFeature的妙用,解析XML时,外部注入预防即XXE攻击
- unity3d 参考坐标系