一、题目
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
解析:
这个题乍一看,感觉挺难,很类似前几天那个 求解电话号码,但是这个括号和具体字母又不一样,不能那样计算。
具体思路还是采用递归回溯,当剩余的左右括号数目相同时,只能先添加左括号,当剩余的右括号数目大于左括号数目时,既可以添加左括号,也可以添加右括号;
类似,n=3, 当str=(),剩余左右括号数目都为2,所以下一个只能添加左括号,str = ()(
n=3,当 str=()(,剩余左括号 1,右括号2,所以下一个可以添加左括号,也可以添加右括号:str = ()() 或者 str =