leetcode22-括号生成
- 回溯
回溯过程中记录cnt,cnt是左括号减去右括号的数量。
- 如果cnt等于0,那么只能用左括号
- 如果cnt等于n-k,那么说明只有剩余括号位全是右括号才可以将所有左括号匹配,只能用右括号
- 除此之外,左右括号都可以
class Solution {
List<String> list = new ArrayList<>();
char arr[];
public List<String> generateParenthesis(int n) {
arr = new char[2*n];
backtracking(0, n*2, 0);
return list;
}
public void backtracking(int k, int n, int cnt){
if(k == n){
list.add(new String(arr));
return;
}
if(cnt == 0){
arr[k] = '(';
backtracking(k+1, n, cnt+1);
}else if(cnt == n-k){
arr[k] = ')';
backtracking(k+1, n, cnt-1);
}else{
arr[k] = '(';
backtracking(k+1, n, cnt+1);
arr[k] = ')';
backtracking(k+1, n, cnt-1);
}
}
}
本文作者:xzh-yyds
本文链接:https://www.cnblogs.com/xzh-yyds/p/16596840.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探