【Leetcode】22. Generate Parentheses
2016-11-28 21:59
274 查看
先贴代码:
public class Solution {
List<String> aList = new ArrayList();
public List<String> generateParenthesis(int n) {
if(n == 0){
return aList;
}
travel("",n,n);
return aList;
}
public void travel(String res,int headNum,int tailNum){
if(headNum == 0 && tailNum == 0){
aList.add(res);
}else{
if(headNum == 0){
travel(res+")",headNum,tailNum-1);
}else if(headNum<tailNum){
travel(res+"(",headNum-1,tailNum);
travel(res+")",headNum,tailNum-1);
}else if(headNum == tailNum){
travel(res+"(",headNum-1,tailNum);
}
}
}
}
这是一个遍历的问题,很自然就想到了递归的方式解决这题。如果“(”符号数量比“)”少的话,“)”插入的时候不会发生任何问题。当这两个符号都用完的时候退出。
贴上运行时间(马马虎虎):
'''
暂时还没有发现更好的思路,留坑
'''
public class Solution {
List<String> aList = new ArrayList();
public List<String> generateParenthesis(int n) {
if(n == 0){
return aList;
}
travel("",n,n);
return aList;
}
public void travel(String res,int headNum,int tailNum){
if(headNum == 0 && tailNum == 0){
aList.add(res);
}else{
if(headNum == 0){
travel(res+")",headNum,tailNum-1);
}else if(headNum<tailNum){
travel(res+"(",headNum-1,tailNum);
travel(res+")",headNum,tailNum-1);
}else if(headNum == tailNum){
travel(res+"(",headNum-1,tailNum);
}
}
}
}
这是一个遍历的问题,很自然就想到了递归的方式解决这题。如果“(”符号数量比“)”少的话,“)”插入的时候不会发生任何问题。当这两个符号都用完的时候退出。
贴上运行时间(马马虎虎):
'''
暂时还没有发现更好的思路,留坑
'''
相关文章推荐
- LeetCode22. Generate Parentheses
- LeetCode代码分析——22. Generate Parentheses(DFS模板题)
- [LeetCode]22. Generate Parentheses
- leetcode_middle_27_22. Generate Parentheses
- Leetcode22. Generate Parentheses
- [leetcode]22. Generate Parentheses(Java)
- leetcode 22. Generate Parentheses
- Leetcode 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- [LeetCode] 22. Generate Parentheses ☆☆
- leetcode解题之22. Generate Parentheses java 版(圆括号的合法序列)
- 【LeetCode】22. Generate Parentheses
- LeetCode - 22. Generate Parentheses
- 【C++】【LeetCode】22. Generate Parentheses
- leetcode --22. Generate Parentheses
- <LeetCode OJ> 22. Generate Parentheses
- 【Leetcode】:22. Generate Parentheses 问题 in Go语言
- LeetCode 22. Generate Parentheses
- [LeetCode] 22. Generate Parentheses
- 蜗牛慢慢爬 LeetCode 22. Generate Parentheses [Difficulty: Medium]