#YHM12001. 括号生成
括号生成
括号生成
题目描述
数字n
代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。
输入格式
一个整数n
,表示括号的对数,其中1 <= n <= 10
。
输出格式
按行输出所有有效的括号组合,每行一个组合。按左括号优先的顺序输出。
示例
示例输入1
3
示例输出1
((()))
(()())
(())()
()(())
()()()
示例输入2
1
示例输出2
()
提示
可以使用递归的方法来解决这个问题。递归过程中,通过记录左括号和右括号的剩余数量来控制生成过程。 每次递归时,有两种选择:
- 如果左括号的剩余数量大于0,可以添加一个左括号,然后继续递归。
- 如果右括号的剩余数量大于左括号的剩余数量,可以添加一个右括号,然后继续递归。 当左括号和右括号的剩余数量都为0时,表示生成了一个有效的括号组合。