博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
22. Generate Parentheses
阅读量:5030 次
发布时间:2019-06-12

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

1 class Solution  2 { 3 public: 4     vector
generateParenthesis(int n) 5 { 6 vector
res; 7 string cur; 8 helper(cur,0,0,n,res); 9 return res;10 }11 12 void helper(string &cur,int left,int right,int n,vector
&res)13 {14 if(left==n&&right==n)15 {16 res.push_back(cur);17 return ;18 } 19 if(left
right)26 {27 cur.push_back(')');28 helper(cur,left,right+1,n,res);29 cur.pop_back();30 }31 }32 };

当左括号数量小于n时可以添加左括号,当左括号数量大于右括号数量时可以添加右括号

这里用了递归,并且在递归中,cur使用的是引用,节约了时间。值得注意的是,返回上一层递归时,cur要删除末尾添加的元素

转载于:https://www.cnblogs.com/zhuangbijingdeboke/p/9273097.html

你可能感兴趣的文章
UpdatePanel 内控件 更新“外的”控件【转】
查看>>
[CF508E] Arthur and Brackets
查看>>
[CF1029E] Tree with Small Distances
查看>>
tp5.0中及其常用方法的一些函数方法(自己看)和技巧(不断添加中)
查看>>
美团推荐算法实践
查看>>
自定义注解使用
查看>>
监听3
查看>>
七个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
查看>>
BZOJ 2120 树状数组套平衡树
查看>>
【ARM-Linux开发】Linux内存管理:ARM Memory Layout以及mmu配置
查看>>
机器学习技法总结(六)Decision Tree Hypothesis
查看>>
Tracking-Learning-Detection (TLD算法总结)
查看>>
07 数据结构
查看>>
开发日志
查看>>
基于深度及广度优先搜索的迷宫问题的演示
查看>>
Nginx模块详解
查看>>
使用Microsoft Fakes隔离测试代码
查看>>
SQL Injection Tutorial Part1:发现注入点
查看>>
linux下查看线程状态
查看>>
Linux文件和目录操作命令
查看>>