刪除無效的括號

2021-10-24 20:28:11 字數 1056 閱讀 7479

刪除最小數量的無效括號,使得輸入的字串有效,返回所有可能的結果。

說明: 輸入可能包含了除 ( 和 ) 以外的字元。

示例 1:

輸入: 「()())()」

輸出: ["()()()", 「(())()」]

示例 2:

輸入: 「(a)())()」

輸出: ["(a)()()", 「(a())()」]

示例 3:

輸入: 「)(」

輸出: [""]

public list

removeinvalidparentheses

(string s)

//如果遇到右擴號

if(s.

charat

(i)==

')')

else}}

hashset

set =

newhashset

<

>()

;dfs

(s,0

,l,r,set)

; list

res =

newarraylist

<

>

(set)

;return res;

}public

void

dfs(string s,

int index,

int l,

int r,hashset

set)

}for

(int i=index;ilength()

;i++

)else

if(r>

0&& s.

charat

(i)==

')')}}

public

boolean

isvalid

(string s)

if(s.

charat

(i)==

')')

if(count<0)

}return count==0;

}

刪除無效的括號

回溯,深度搜尋 給定字串 首先求出不匹配的左括號數和右括號數。在深度搜尋過程中去除不匹配的符號,舉例 當左括號數等於右括號數時,判斷是否匹配 class solution object def removeinvalidparentheses self,s type s str rtype list...

LeetCode BFS 刪除無效的括號

刪除最小數量的無效括號,使得輸入的字串有效,返回所有可能的結果。說明 輸入可能包含了除 和 以外的字元。示例 輸入 輸出 輸入 a 輸出 a a 輸入 輸出 class solution if isvalid s return queueq unordered setlookup 記錄字串是否被訪問...

301 刪除無效的括號(BFS)

刪除最小數量的無效括號,使得輸入的字串有效,返回所有可能的結果。說明 輸入可能包含了除 和 以外的字元。示例 1 輸入 輸出 示例 2 輸入 a 輸出 a a 示例 3 輸入 輸出 思路 廣度優先 bfs 廣度優先 bfs public listremoveinvalidparentheses st...