问题:n对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
思路:问题可转化为:在一个string中包含两个字符:'('和')',他们出现的次数都为n,并且任何时候'('出现的次数总是>=')'出现的次数。
解决方案(递归):
标志:l: 左括号出现的次数,r:右括号出现的次数,n: 括号对数,s: 存储符合要求的排列字符串,num: 匹配排列种数
步骤:
1.如果r=n,即右括号已出现了n次,则num++,打印s,返回;
问题:n对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
思路:问题可转化为:在一个string中包含两个字符:'('和')',他们出现的次数都为n,并且任何时候'('出现的次数总是>=')'出现的次数。
解决方案(递归):
标志:l: 左括号出现的次数,r:右括号出现的次数,n: 括号对数,s: 存储符合要求的排列字符串,num: 匹配排列种数
步骤:
1.如果r=n,即右括号已出现了n次,则num++,打印s,返回;