(java)leetcode-22
来源:互联网 发布:mac怎么用u盘重装系统 编辑:程序博客网 时间:2024/05/01 18:52
Generate Parentheses
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:
[ "((()))", "(()())", "(())()", "()(())", "()()()"]
解题思路:
这道题大概用递归就可以弄出来了吧。
设置一个num,当string中加上一个 '(' 的时候,就num++,当string中加上一个 ')' 的时候,就num--,所以需要判断num的大小。当num == 0的时候,只能添加 '(' ,当num == 2*n - str.length() 的时候,只能添加 ')' ,当num在 0 < num < 2*n - str.length() 的时候,就两者都可以添加。这样不断递归就能得到结果。
public class Solution { public List<String> generateParenthesis(int n) {List<String> result = new ArrayList<String>();if(n == 0)return result;getstring(0,0,"",2*n,result); return result; }public void getstring(int x,int num,String str,int n,List<String> result){if(x == n-1)result.add(str+')');else{if(num > 0)getstring(x+1,num-1,str+')',n,result);if(num < n-x)getstring(x+1,num+1,str+'(',n,result);}}}
0 0
- (java)leetcode-22
- Leetcode 22(Java)
- LeetCode 22 -Generate Parentheses ( JAVA )
- Leetcode(java)
- leetcode java
- [LeetCode]Next Permutation java leetcode
- LeetCode: Two Sum (Java)
- [Leetcode] Two Sum (Java)
- [Leetcode] ZigZag Conversion (Java)
- [Leetcode] Reverse Integer (Java)
- [Leetcode] Palindrome Number (Java)
- [Leetcode] Valid Parentheses (Java)
- [Leetcode] Generate Parentheses (Java)
- [Leetcode] Remove Element (Java)
- [Leetcode] Implement strStr() (Java)
- [Leetcode] Next Permutation (Java)
- [Leetcode] Valid Sudoku (Java)
- [Leetcode] Sudoku Solver (Java)
- 递归算法---全排列
- Android Activity生命周期--应知应会
- slua 1.3.1 vs2017 build file
- 记录下 刚开的博客
- 7.Draftjs 学习笔记-StateToHtml
- (java)leetcode-22
- JMeter proxy server
- Java学习笔记3--类与对象
- 特征选择
- Problem--131A--Codeforces--A. cAPS lOCK
- 【Java学习笔记】03.运算符与键盘录入数据操作
- 结对编程(四则运算)
- RANSAC介绍
- LeetCode-E-Same Tree