22. Generate Parentheses(第六周)
来源:互联网 发布:最新java培训视频教程 编辑:程序博客网 时间:2024/06/06 04:14
本题的知识点是递归算法,判断递归终止的条件是left和right的值均为0.
两个递归循环的条件是left大于0和right小于left,在这两种情况下分别是在temp字符串后加上(和)。
由于没注意开始的时候将left-1和right-1误写成了left--和right--,导致提交时提示内存溢出。
class Solution
{
public:
vector<string> generateParenthesis(int n)
{
vector<string> ret;
string temp="";helper(ret,temp,n,n);
return ret;
}
void helper(vector<string> &result,string temp,int left,int right)
{
if(left == 0 && right == 0)
{
result.push_back(temp);
return;//在此处加上return主动结束一种情况下的函数是比较保险的做法
}
if(left > 0) helper(result,temp+'(',left-1,right);
if(right > left) helper(result,temp+')',left,right-1);
}
};
0 0
- 22. Generate Parentheses(第六周)
- (Leetcode)22. Generate Parentheses
- 22. Generate Parentheses(dfs)
- 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
- 【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
- NDK第一个程序
- 106.实现自定义归属地提示框的拖拽2
- java 实现构造最大堆
- 日志管理
- solr在使用solrj操作中的各个操作大全(在solrcores中测试)(转自:http://blog.csdn.net/a925907195/article/details/42491157)
- 22. Generate Parentheses(第六周)
- github上比较好用的第三方库
- 58到家入驻微信钱包的技术优化
- 自定义滚轮
- 给定K个有序序列,输出合并后有序序列
- 井字棋
- [LeetCode]349. Intersection of Two Arrays(两数组的交集)
- 一个低概率core dump问题的解决------static搞起
- Tensorflow--GPU/CPU/ contain variables in different devices