您的位置:首页 > 其它

*LeetCode-Generate Parentheses

2015-09-18 06:53 567 查看
想到了要用recursive 但是没有想清楚helper function要怎样传参 

思想就是 记录还有几个left可以用 几个left需要闭合

并且要把list 和整个string传下去 不是每层都add到list 而是这个string结束 即没有可用的left 没有需要闭合的left的时候

public class Solution {
public List<String> generateParenthesis(int n) {
List<String> list = new ArrayList<String>();
add( list, "", n, 0);
return list;
}
void add ( List<String> list, String str, int left, int right ){
if ( left == 0 && right == 0) {
list.add(str);
str = "";
}
if ( left > 0)
add ( list, str + '(', left -1, right + 1);
if ( right > 0 )
add ( list, str + ')', left, right - 1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: