Leetcode:括号生成

题目链接:22. 括号生成 - 力扣(LeetCode)

题目分析 

1、括号的类型只有()一种,没有{}或者[]

2、括号可以进行多层嵌套

3、有效的括号组合需要满足以下两个条件(任意一个子串)

  • 总体上,左括号数量 == 右括号数量
  • 从左向右开始数一个子串时,在任意时刻,左括号的数量 >= 右括号数量

4、当我们开始进行生成时,会出现下图所示的过程:

  • 当left大于等于n时就不能再添加左括号
  • 当right大于等于left时也不能添加左括号
  • 当right==n时开始回退(因为先添加的肯定是左括号,所以后添加的右括号都等于n了,那么左括号应该也满足了)

普通版本(回溯)

class Solution {
    int left,right,m;
    string path;//每一条路径上的最终结果
    vector<string> res;//最终结果
public:
    vector<string> generateParenthesis(int n) {
       m = n;
       dfs();//当dfs函数走完后所有的括号就完成了括号的组成
       return res;
    }

    void dfs()
    {
        if(right == m)
        {
            res.push_back(path);//将当前组合完成的子串尾插给最终结果
            return;
        }

        if(left < m)//用递归添加左括号
        {
            path.push_back('(');
            ++left;
            dfs();
            path.pop_back();
            --left;
        }

        if(right < left)//添加右括号
        {
            path.push_back(')');
            ++right;
            dfs();
            path.pop_back();
            --right;
        }
    }
};

 优化版本(待补充)

~over~

相关推荐

  1. LeetCode 22 括号生成

    2024-06-12 04:46:02       41 阅读
  2. [leetcode] 22. 括号生成

    2024-06-12 04:46:02       38 阅读
  3. LeetCode-22.括号生成

    2024-06-12 04:46:02       18 阅读
  4. LeetCode 22. 括号生成

    2024-06-12 04:46:02       13 阅读
  5. LeetCode热题Hot100 - 括号生成

    2024-06-12 04:46:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 04:46:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 04:46:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 04:46:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 04:46:02       18 阅读

热门阅读

  1. Python学习笔记5:入门知识(五)

    2024-06-12 04:46:02       7 阅读
  2. c++【入门】买文具2

    2024-06-12 04:46:02       8 阅读
  3. 实验4-原地逆转链表(梅开二度)

    2024-06-12 04:46:02       7 阅读
  4. 反射...

    反射...

    2024-06-12 04:46:02      6 阅读
  5. Room数据库使用

    2024-06-12 04:46:02       8 阅读
  6. 【WPF】中的ListBox的ScrollIntoView方法使用

    2024-06-12 04:46:02       8 阅读
  7. 2001NOIP普及组真题 4. 装箱问题

    2024-06-12 04:46:02       16 阅读