番禺网站建设方案,河北建设行业信息网站,建设内容管理网站的目的,菏泽定陶网页设计培训22. 括号生成
数字 n 代表生成括号的对数#xff0c;请你设计一个函数#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1#xff1a;
输入#xff1a;n 3
输出#xff1a;[((())),(()()),(())(),()(())请你设计一个函数用于能够生成所有可能的并且 有效的 括号组合。 示例 1
输入n 3
输出[((())),(()()),(())(),()(()),()()()]示例 2
输入n 1
输出[()]提示
1 n 8
解法思路 递归Recursion class Solution {private ListString res;public ListString generateParenthesis(int n) {// Recursion// Time: O(2^n)// Space: O(n)res new ArrayList();_generate(0, 0, n, );return res;}private void _generate(int left, int right, int n, String s) {// terminatorif (left n right n) {res.add(s);return;}// process current logic: left, right// drill downif (left n) _generate(left 1, right, n, s ();if (right left) _generate(left, right 1, n, s ));// reverse states}
}