leetcode301。無効な括弧を削除します



Leetcode 301 Remove Invalid Parentheses



入力文字列を有効にするために、無効な括弧の最小数を削除してください。考えられるすべての結果を返します。

注意: 入力文字列には、括弧以外の文字を含めることができます(および)



例1:

Input: '()())()' Output: ['()()()', '(())()']

例2:



Input: '(a)())()' Output: ['(a)()()', '(a())()']

例3:

Input: ')(' Output: ['']

余分な閉じ括弧を削除すると、削除された括弧をノードとして持つdfsとして表示されます。最後に削除された位置を記録し、位置3に達したときに位置2の削除を繰り返さないようにし、位置4によって位置1を削除します。

public List removeInvalidParentheses(String s) { List list=new ArrayList() dfs(s,list,0,')') return list } public void dfs(String s,List list,int last,char c){//c='('or')' for(int i=0,count=0i

参照: https://blog.csdn.net/qq508618087/article/details/50408894