括号生成问题有点经典,没有想出来。
1.声明一个全局变量ArrayList
2.算法的经典之处 在于递归。
递归结束的条件是什么呢? 有且仅当rightCount=leftCount&&rightCount==0
算法的核心思想:
递归函数的参数:
1.String s
2.leftCount "("的个数
3.rightCount ")"的个数
有效括号的基础条件是:leftCo<=rightCount
if(leftCount<=rightCount){
if(leftCount>0){
test(str+"(",leftCount-1,rightCount);
}
test(str+")",leftCount,rightCount-1);
}
这样递归得到的就是正规合法的括号