<22>——Generate Parentheses
来源:互联网 发布:python下载后怎么使用 编辑:程序博客网 时间:2024/06/05 06:46
22、Generate Parentheses
生成括号
给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。样例
给定 n = 3
, 可生成的组合如下:
"((()))", "(()())", "(())()", "()(())", "()()()"
分析:
1.排列组合问题,可以使用递归按顺序添加括号,将所有可能列出(回溯法)
2.只有左括号多于右括号时才能添加左括号
3.左右括号都等于n时结束
代码:
class Solution {public: vector<string> generateParenthesis(int n) { vector<string> res; dfs(res,"",n,0,0); return res; } void dfs(vector<string> &res,string s, int n,int left,int right) { if(left==n&&right==n) { res.push_back(s); return; } if(left<n) dfs(res,s+"(",n,left+1,right); if(left>right)dfs(res,s+")",n,left,right+1); }};
阅读全文
0 0
- <22>——Generate Parentheses
- LeetCode——Generate Parentheses
- LeetCode——Generate Parentheses
- LeetCode——Generate Parentheses
- leetcode——Generate Parentheses
- leetcode——Generate Parentheses
- Algorithms—22.Generate Parentheses
- leetcode——22——Generate Parentheses
- leetcode第22题——**Generate Parentheses
- LeetCode 22 — Generate Parentheses(C++ Java 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
- 分布式事务的典型处理方式:2PC、TCC、异步确保和最大努力型
- javaScriptDOM基础
- Windows 原生 cmd 窗口下编译 C++(cl命令)出现的问题及解决方法
- 《机器学习实战》代码片段学习5 AdaBoost元算法
- JavaScript DOM编程艺术(中文第二版)纲要
- <22>——Generate Parentheses
- 设计模式之适配器模式
- H5基础(4)-HTML5文件操作API
- 一款 Linux 邮件客户端—Nylas Mail
- 斐波那契数列三种实现+矩阵乘法+矩阵cimi
- 分布式高效ID生产
- 区块链智能资产的“硬链接”思考
- java异常总结
- Linux中GCC编译器运行第一个程序“Helloworld!”