22. 括号生成 https://leetcode.cn/problems/generate-parentheses

本文讲解的例题

LeetCode力扣难度
22. Generate Parentheses22. 括号生成🟠

括号问题可以简单分成两类,一类是前文写过的 括号的合法性判断 ,一类是合法括号的生成。对于括号合法性的判断,主要是借助「栈」这种数据结构,而对于括号的生成,一般都要利用 回溯算法 进行暴力穷举。

回到正题,看下力扣第 22 题「括号生成」,要求如下:

22. 括号生成 | 力扣 | LeetCode |  🟠

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

示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1
输出:["()"]

提示:

  • 1 <= n <= 8
题目来源:力扣 22. 括号生成

函数签名如下:

java
List<String> generateParenthesis(int n);

有关括号问题,你只要记住以下性质,思路就很容易想出来:

回溯思路

loading...