标签:
思路:递归遍历,先遍历左括号再遍历右括号,在左括号遍历次数小于右括号时,遍历右括号
n对括号的有效组合数
参考:https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%A1%94%E5%85%B0%E6%95%B0
import java.util.*; //求n对括号的所有有效组合 public class Level0004 { public static String[] Puzzle(int n) { List<String> l = new ArrayList<String>(); find(n, n, "", l); String[] ret = new String[l.size()]; for (int i = 0; i < l.size(); i++){ ret[i] = l.get(i); } return ret; } static void find(int i, int j, String s, List<String> l){ if (i == 0 && j == 0) { l.add(s); } if (i > 0) { find(i - 1, j, s + ‘(‘, l); } if (j > 0 && i < j) { find(i, j - 1, s + ‘)‘, l); } } }
标签:
原文地址:http://www.cnblogs.com/fisherinbox/p/5426640.html