Generate Parentheses LeetCode解题报告
来源:互联网 发布:姚明nba前两场数据 编辑:程序博客网 时间:2024/05/22 06: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:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
思路
这种要你穷尽所有可能性的题,一般就会想到递归,在草稿纸上画一下找出其中的规律就好办了,直接看下图:
可以得出规律:
1、开头不是能“)”
2、左括号个数大于右括号个数时,接下来的括号随意。
3、当左右括号数目相等时,接下来的必须要是左括号。
4、又括号的个数不能大于左括号个数,当左右括号都用完时,返回。
代码
这里left和right的意思分别表示还剩下的左括号个数和右括号个数。
public List<String> generateParenthesis(int n) { List<String> list = new ArrayList<String>(); generateParentheses(n,n,"",list); return list; } public void generateParentheses(int left,int right,String curStr,List<String> list){ //左右括号用完了,返回 if(left == 0 && right == 0){ list.add(curStr); return; } //只要还有左括号,就能使用 if(left > 0){ generateParentheses(left-1,right,curStr+"(",list); } //还有右括号且剩下的右括号必须多余剩下的左括号 if(right > 0 && left < right){ generateParentheses(left,right-1,curStr+")",list); } }
阅读全文
0 0
- [LeetCode]Generate Parentheses, 解题报告
- 【LeetCode】Generate Parentheses 解题报告
- LeetCode解题报告--Generate Parentheses
- [LeetCode] Generate Parentheses 解题报告
- [LeetCode] Generate Parentheses 解题报告
- Generate Parentheses LeetCode解题报告
- [leetcode] 22. Generate Parentheses 解题报告
- LeetCode 22. Generate Parentheses 解题报告
- [Leetcode] 22. Generate Parentheses 解题报告
- leetcode解题报告22. Generate Parentheses
- Leetcode #22 Generate Parentheses 创建括号 解题报告
- [leetcode javascript解题]Generate Parentheses
- Leetcode Generate Parentheses 解题思路
- Generate Parentheses——解题报告
- leetcode [Generate Parentlesies]解题报告
- leetcode解题方案--022--Generate Parentheses
- LeetCode解题报告--Valid Parentheses
- [LeetCode] Valid Parentheses 解题报告
- linux环境中ab命令简介及结果分析
- https://www.powerpbx.org/content/fusionpbx-v4-freeswitch-v16-centos-v7-install-guide-v1.1
- Li Fei-fei写给她学生的一封信,如何做好研究以及写好PAPER
- hdu--6143--Killer Names
- iOS开发之各种动画各种页面切面效果
- Generate Parentheses LeetCode解题报告
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
- Android Studio 2.3.3百度云下载
- [Azure]ARM模式下删除虚拟机挂盘修复后恢复的脚本(非托管磁盘)
- i2c驱动程序全面分析,从adapter驱动程序到设备驱动程序
- 笔记
- log4j2.xml配置详解
- == 和equals的区别
- CentOS6.5安装VNC