22. 括号生成
Posted wsshub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22. 括号生成相关的知识,希望对你有一定的参考价值。
二刷之后的代码简洁多了。
括号问题关键在于“合法括号匹配:当前左括号数大于等于右括号数”
class Solution {
List<String> ans=new LinkedList<>();
public List<String> generateParenthesis(int n) {
//合法括号:当前左括号数大于等于右括号数
dfs(0,0,n,"");
return ans;
}
void dfs(int leftCnt,int rightCnt,int n,String path){
if(leftCnt<rightCnt||leftCnt>n)return;
if(rightCnt==n){
if(leftCnt==n)
ans.add(path);
return;
}
dfs(leftCnt+1,rightCnt,n,path+"(");
dfs(leftCnt,rightCnt+1,n,path+")");
}
}
以上是关于22. 括号生成的主要内容,如果未能解决你的问题,请参考以下文章