括号生成—leetcode22
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
例如,给出 n = 3,生成结果为:
[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
思路:n对括号,n个左括号为left,n个右括号right,当left != 0时,递归left-- path+“(”,当rigth!==&&right>left时,递归right-- path+“)”,直到left==0&&right==0时,将path添加到list中。
也就是说当左括号个数不为0时,可以添加左括号,右括号个数不为0并且大于左括号个数时,添加右括号。
class Solution {
public:vector<string> generateParenthesis(int n) {vector<string> result;DFS(n, n, "", result);return result;}void DFS(int left,int right, string s, vector<string>& result){if(left==0&&right==0){result.push_back(s);return;}if(left!=0){DFS(left-1,right,s+'(',result);}if(right!=0 && right>left){DFS(left,right-1,s+')',result);}}
};
括号生成—leetcode22相关推荐
- Leetcode-笔记-22.括号生成--递归
Leetcode-笔记-22.括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合. 示例 1: 输入:n = 3 输出:["((()))& ...
- LeetCode 21合并两个有序链表22括号生成
微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...
- LeetCode Algorithm 22. 括号生成
22. 括号生成 Ideas 这是一道动态规划的题目,关于动态规划的题目我们可以从n比较小的情况下开始逐步分析. 当n=1时,["()"] 当n=2时,["()()&qu ...
- 牛客题霸 [括号生成] C++题解/答案
牛客题霸 [括号生成] C++题解/答案 题意: 给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合. 例如,给出n=3,解集为: "((()))", "( ...
- 22. 括号生成 golang 图解
题目 括号生成 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", " ...
- [Leedcode][JAVA][第22题括号生成][DFS][BFS][动态规划]
[问题描述]22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合. 示例:输入:n = 3 输出:["((()))",&q ...
- [DFS|剪枝] leetcode 22 括号生成
[DFS|剪枝] leetcode 22 括号生成 1.题目 题目链接 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合. 示例: 输入:n = 3 输出:[& ...
- Leetcode 22. 括号生成(递归+去重)
22. 括号生成 思路: 递归+map去重: 递归函数声明: vector<string> generateParenthesis(int n); 递归出口: 当n=1时,返回{" ...
- 力扣P22 括号生成的DFS思路
力扣P22 括号生成的DFS思路 题干[括号生成](https://leetcode-cn.com/problems/generate-parentheses/) 思路 题干括号生成 思路 这道题用d ...
最新文章
- 久等!2020智源大会演讲视频全公开,参与盖楼挑战赢限量徽章
- 【金三银四跳槽季】Java工程师的面试之路,需要“解锁”哪些技术盲点?
- html+id选择器如何使用方法,id选择器_HTML+CSS前端基础知识教程_腾讯视频
- 【译】 WebSocket 协议第六章——发送与接收消息(Sending and Receiving Data)
- Android导入第三方静态库.a编译成动态库.so
- C语言和设计模式(状态模式)
- history。go(-1)
- Cesium:向地图中添加线的方法
- 《Web漏洞防护》读书笔记——第6章,XXE防护
- python项目目录结构
- Unity Easy AR
- 计算机网络故障提出问题,列控系统及其计算机网络的故障诊断与故障容错研究...
- C# WPF MVVM 实战 – 5- 用绑定,通过 VM 设置 View 的控件焦点
- 安装、选择-如何制作U盘系统盘以及U盘安装操作系统的方法 -by小雨
- 「随笔」我的导师离职了...
- zcmu 1919: kirito's 星爆气流斩
- CentOS 7 查询CPU、内存、磁盘的使用情况
- ubuntu+cuda+theano
- 怎么将两个pdf文件合并在一起
- linux协议栈 IPv4之发送过程中的分段处理ip_fragment()
热门文章
- oracle jdbctype null,Oracle数据库之springboot 项目mybatis plus 设置 jdbcTypeForNull
- 4键电子手表说明书_家有破壁机的要收藏,教你4道早餐食谱,细腻香甜,比喝豆浆舒服...
- AD 批量修改漫游文件
- 06004_Redis的启动、使用和停止
- XML4跨浏览器兼容
- (FFOS Gecko Gaia) OTA - 转移至System App
- PC SERVER 序列号查询
- K3删除物料时提示“物料在存货表-物料中....”
- C语言API编写窗体界面和按钮
- 【数据结构与算法】之深入解析“太平洋大西洋水流问题”的求解思路与算法示例