Hot10022. 括号生成

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hot10022. 括号生成相关的知识,希望对你有一定的参考价值。

22. 括号生成
中等题
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

参考:https://leetcode.cn/problems/generate-parentheses/solution/zui-jian-dan-yi-dong-de-dong-tai-gui-hua-bu-lun-da/
动态规划

class Solution 
    public List<String> generateParenthesis(int n) 
        List<List<String>> res = new LinkedList<>();
        res.add(new LinkedList<>(Arrays.asList("")));
        res.add(new LinkedList<>(Arrays.asList("()")));
        for (int i = 2; i <= n; i++) 
            List<String> tmp = new LinkedList<>();
            for (int j = 0; j < i; j++) 
                List<String> str1 = res.get(j);
                List<String> str2 = res.get(i - 1 - j);
                for (String s1 : str1) 
                    for (String s2 : str2) 
                        String str = "(" + s1 + ")" + s2;
                        tmp.add(str);
                    
                
            
            res.add(tmp);
        
        return res.get(n);
    

以上是关于Hot10022. 括号生成的主要内容,如果未能解决你的问题,请参考以下文章

Hot10020. 有效的括号

Hot10032. 最长有效括号

LeetCode Hot 100 --- 最长有效括号(java详细注解)

刷题篇--热题HOT 10-20

#yyds干货盘点# LeetCode 热题 HOT 100:最长有效括号

给秋招加点料——Hot15道高频算法面试题!