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