Leetcode刷题Leetcode22
来源:互联网 发布:java 实时语音聊天 编辑:程序博客网 时间:2024/06/08 06:48
leetcode刷题笔记
leetcode22
问题描述: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:[ “((()))”,”(()())”, “(())()”, “()(())”, “()()()”]
问题分析
该问题是要求输出括号串的数目,本身括号是一种对称结构,所以可以采取回溯的方式来解决,依次输出左右括号,从而保证括号的对称,这里利用了深度优先遍历的思想。具体代码如下:
public static List<String> generateParenthesis(int n) { List<String> result = new ArrayList<>(); String sub = ""; generateParenthesisOneByOne(sub,result,n,n); return result; }public static void generateParenthesisOneByOne(String sublist,List<String> list,int left,int right){ if (left > right) return; if (left>0){ generateParenthesisOneByOne(sublist+"(",list,left-1,right); } if (right>0){ generateParenthesisOneByOne(sublist+")",list,left,right-1); } if (left == 0 && right == 0) { list.add(sublist); return; } } public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); List<String> re = generateParenthesis(n); for (int i=0;i<re.size();i++){ System.out.println(re.get(i)); } }
阅读全文
0 0
- Leetcode刷题Leetcode22
- leetcode22
- leetcode22: longest common prefix
- [LeetCode22]Generate Parentheses
- [Java]LeetCode22 Generate Parentheses
- LeetCode22:Generate Parentheses
- LeetCode22. Generate Parentheses
- LeetCode22. Generate Parentheses
- LeetCode22. Generate Parentheses
- Leetcode22 Generate Parentheses
- LeetCode22. Generate Parentheses
- Leetcode22: Generate Parentheses
- LeetCode22 Merge Sorted Array
- leetcode22:Generate Parentheses
- LeetCode22.Generate Parentheses
- LeetCode22: Merge k Sorted Lists
- LeetCode22 Generate Parentheses 括号生成
- Leetcode22: Length of Last Word
- 逆序对
- Nginx配置文件配置参数的意思
- Opendaylight安装
- 数据结构(栈)c/c++/java实现
- anaconda4.4.0 python3.6 安装opencv3.3.0.10
- Leetcode刷题Leetcode22
- 数组单调和(动态规划问题)
- tomcat中三种部署项目的方法
- JVM学习笔记-类加载机制
- 图像分割,从Graph Cut到Grab Cut
- VMwareTool安装 vm虚拟机界面太小改变
- mybatis(3)分页查询和条件分页查询
- [杂题 简单复杂度分析]HDU5762. Teacher Bo
- PHP 获取微信公众号的access_token