zoukankan      html  css  js  c++  java
  • generate-parentheses

    /**
    *
    * @author gentleKay
    * Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
    * For example, given n = 3, a solution set is:
    * "((()))", "(()())", "(())()", "()(())", "()()()"
    *
    * 给定n对括号,编写一个函数来生成格式良好的括号的所有组合。
    * 例如,给定n=3,解集为:
    * "((()))", "(()())", "(())()", "()(())", "()()()"
    */

      

    import java.util.ArrayList;
    
    /**
     * 
     * @author gentleKay
     * Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
     * For example, given n = 3, a solution set is:
     * "((()))", "(()())", "(())()", "()(())", "()()()"
     * 
     * 给定n对括号,编写一个函数来生成格式良好的括号的所有组合。
     * 例如,给定n=3,解集为:
     *  "((()))", "(()())", "(())()", "()(())", "()()()"
     */
    
    public class Main30 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println(Main30.generateParenthesis(3));
    	}
    	
    	public static ArrayList<String> generateParenthesis(int n) {
    		ArrayList<String> list = new ArrayList<>();
    		String str = "";
    		generate(list, n, n,str);
    		return list;
        }
    	
    	public static void generate(ArrayList<String> list, int left, int right, String str) {
    		if (left == 0 && right == 0) {
    			list.add(str);
    			return ;
    		}
    		if (left > 0) {
    			generate(list, left-1,right, str+'(');
    		}
    		if (right > left) {
    			generate(list,left,right-1, str+')');
    		}
    	}
    }
  • 相关阅读:
    将aspx页面编译成dll
    Jquery 验证数字
    c#反编译生成DLL过程
    c#进制转换
    Spring Mvc 实例
    wamp phpMyAdmin error #1045
    Tomcat相关知识点总结(jsp)
    Java ---学习笔记(泛型)
    Java IO ---学习笔记(文件操作与随机访问文件)
    Java IO ---学习笔记(字符流)
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11287437.html
Copyright © 2011-2022 走看看