22. Generate Parentheses
来源:互联网 发布:nginx alias用法 编辑:程序博客网 时间:2024/05/21 00:47
1刷
就是求全部的组合
思路是递归,如果l和r同时为0代表这个是其中之一的答案
如果l大于0,则可以递归加上(
如果r大于0且大于l(一定要大于l,否则不能加),会出现矛盾),则递归加上)
class Solution {public: void generalit(vector<string>&v, string s, int l, int r) { if(l == 0 && r == 0) v.push_back(s); if(l > 0) generalit(v, s + "(", l - 1, r); if(r > 0 && r > l) generalit(v, s + ")", l, r - 1); } vector<string> generateParenthesis(int n) { vector<string>v; generalit(v, "", n, n); return v; }};
2刷
1刷的时候记得想了好久,2刷能够直接写出,很好,3刷也可以简单在刷一次就够了
class Solution {public: vector<string>ve; void makeit(string s, int length, int now, int n, int nowl, int nowr){ if(length == now){ ve.push_back(s); return ; } if(nowl < n) makeit(s + "(", length, now + 1, n, nowl + 1, nowr); if(nowl > nowr) makeit(s + ")", length, now + 1, n , nowl, nowr + 1); } vector<string> generateParenthesis(int n) { makeit("(", n * 2, 1, n, 1, 0); return ve; }};
0 0
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- 22. Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses
- 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- 22. Generate Parentheses
- HDU5188:zhx and contest(类01背包)
- Android SDK Sample(一) CardReader
- 10. Regular Expression Matching
- 13. Roman to Integer
- 进程状态的转换
- 22. Generate Parentheses
- qt 学习笔记6 360 Labe
- 在SSM中使用shiro实现登录验证(附密码加密)
- 23. Merge k Sorted Lists
- 安卓下Glide缓存问题
- 【ZooKeeper】分布式系统服务器上下线自动感知程序开发
- 浅析 UIApplication 生命周期的一些 delegate 方法
- 【PAT】1008. Elevator
- 蓝桥杯 - 算法训练 - 删除数组零元素 - Java