题目:
![]()
解析:
该题:
1.决策树:
![]()
2.代码设计:
2.1.全局变量:
![]()
2.2.
![]()
代码:
private List<String> ret;private int left,n,right;private StringBuffer path;public List<String> generateParenthesis(int _n) {n = _n;ret = new ArrayList<>();path = new StringBuffer();dfs();return ret;} private void dfs(){//递归出口if(right == n) {ret.add(path.toString());return;}/** 剪枝写法:*/ //添加左括号if(left < n){path.append("("); left++;dfs();//回溯:恢复现场path.deleteCharAt(path.length()-1); left--;} //添加右括号:右括号永远满足 <= 左括号if(right < left) {path.append(")"); right++; dfs();//回溯:恢复现场path.deleteCharAt(path.length()-1); right--;}}
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>括号生成
2025/9/20 16:05:25
来源:https://blog.csdn.net/robin_suli/article/details/144754897
浏览:
次
关键词:穷举vs暴搜vs深搜vs回溯vs剪枝系列一>括号生成
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com