leetcode 22. Generate Parentheses
来源:互联网 发布:重启后正在准备windows 编辑:程序博客网 时间:2024/06/13 21:22
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
[ "((()))", "(()())", "(())()", "()(())", "()()()"]
解:本题的思路是利用二叉树的想法来遍历所有的情况,采用深度优先的搜索算法dfs。而二叉树的本质就是利用递归,主要想好添加左括号和右括号的条件。
class Solution {public: vector<string> generateParenthesis(int n) { vector<string> res; addingChar(res, "", n, n); return res; } void addingChar(vector<string> &res, string str, int left, int right){ if(left == 0 && right == 0){ res.push_back(str);return; } if(left > 0){ addingChar(res, str+"(", left - 1, right); } if(right > left){ addingChar(res, str+")", left, right - 1); } }};
阅读全文
0 0
- [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
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- 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
- 先验和后验概率
- 【操作系统】-5大功能
- 017年Android百大框架排行榜
- c# 获取毫秒值,时间戳
- Java多线程之ThreadLocal
- leetcode 22. Generate Parentheses
- linux的简单命令(持续记录)
- mysql之存储过程,函数,游标
- 47 使用linux内核源码里的按键驱动<GPIO Buttons>
- Online Sequence-to-Sequence Active Learning for Open-Domain Dialogue Generation
- BZOJ 4435: [Cerc2015]Juice Junctions tarjan
- Vue2.0 推荐开发环境
- 关于fragment懒加载问题
- Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置