博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode #22 括号生成算法
阅读量:3950 次
发布时间:2019-05-24

本文共 1286 字,大约阅读时间需要 4 分钟。

Difficulty: 中等

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

示例:

输入:n = 3输出:[       "((()))",       "(()())",       "(())()",       "()(())",       "()()()"     ]

Solution

Language: ****

class Solution {public:    vector
generateParenthesis(int n) { vector
res; stack stack; frame _frame; _frame.l = n,_frame.r = n,_frame.cur = ""; stack.push(_frame); while (stack.size()) { frame _frame = stack.top();stack.pop(); if (_frame.l==0 && _frame.r == 0) res.push_back(_frame.cur); if (_frame.l>0) { frame _t; _t.l = _frame.l -1 , _t.r = _frame.r, _t.cur = _frame.cur + "("; stack.push(_t); } if(_frame.r > _frame.l && _frame.r>0) { frame _t; _t.l = _frame.l,_t.r = _frame.r-1,_t.cur = _frame.cur + ")"; stack.push(_t); } } return res; } class frame { public: int l,r; string cur; }; // void dfs(vector
&res, string s, int l,int r) { // if (l==0 && r == 0) return res.push_back(s); // if (l > 0) dfs(res, s + "(",l-1,r); // if ( r > l && r > 0) dfs(res,s+")",l,r-1); // }};

转载地址:http://nyyzi.baihongyu.com/

你可能感兴趣的文章
查看jar依赖树
查看>>
idea运行gradle项目
查看>>
es安装ltr插件
查看>>
开源ltr-es-7.6.2代码到本地idea打开出现各种错误总结
查看>>
Requests实践详解&& python通过连接开启https的elasticsearch7 服务器
查看>>
ES查询流程源码解析
查看>>
ldaps与ldap over TLS
查看>>
jvm为什么把-Xms和-Xmx的值设置成一样
查看>>
2021-01-21对map进行key或者value排序
查看>>
ConcurrentHashMap 1.7和1.8的区别
查看>>
阻塞锁与自旋锁
查看>>
【面试官:select语句和update语句分别是怎么执行的
查看>>
scala学习之安装问题
查看>>
LDAP常见错误码
查看>>
linux yum安装rpm包出现问题
查看>>
idea编译报错类似xxx.java:[85,65] 错误: 找不到符号
查看>>
ArrayList复制
查看>>
idea打开项目时,文件左下角显示橙色J
查看>>
SQL注入
查看>>
linux中ldconfig的使用介绍
查看>>