@@ -0,0 +1,725 @@
+public class Solution %7B%0A    private void find(int open, int close, int n, StringBuilder sb, List%3CString%3E result) %7B%0A        if (open==n && close==n) %7B%0A            result.add(sb.toString());%0A            return;%0A        %7D%0A        if (open %3C n) %7B%0A            sb.append(%22(%22);%0A            find(open+1, close, n, sb, result);%0A            sb.deleteCharAt(sb.length()-1);%0A        %7D%0A        if (open-close %3E 0) %7B%0A            sb.append(%22)%22);%0A            find(open, close+1, n, sb, result);%0A            sb.deleteCharAt(sb.length()-1);%0A        %7D%0A    %7D%0A%0A    public List%3CString%3E generateParenthesis(int n) %7B%0A        List%3CString%3E result = new ArrayList%3C%3E();%0A        find(0, 0, n, new StringBuilder(), result);%0A        return result;%0A    %7D%0A%7D%0A

22. Generate Parentheses