Java 解法一:
public class Solution { public List<String> generateParenthesis(int n) { List<String> res = new ArrayList<String>(); helper(n, n, "", res); return res; } void helper(int left, int right, String out, List<String> res) { if (left < 0 || right < 0 || left > right) return; if (left == 0 && right == 0) { res.add(out); return; } helper(left - 1, right, out + "(", res); helper(left, right - 1, out + ")", res); } }
本文介绍了一种使用递归方法生成所有合法的由 n 对括号组成的不同组合的算法。通过两个辅助变量跟踪剩余左右括号的数量,并确保任何时候左括号的数量都不小于右括号的数量。

264

被折叠的 条评论
为什么被折叠?



