2022-03-27 18:35:17 +08:00
< p > Given a string < code > s< / code > that contains parentheses and letters, remove the minimum number of invalid parentheses to make the input string valid.< / p >
2023-12-09 18:42:21 +08:00
< p > Return < em > a list of < strong > unique strings< / strong > that are valid with the minimum number of removals< / em > . You may return the answer in < strong > any order< / strong > .< / p >
2022-03-27 18:35:17 +08:00
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > s = " ()())()"
< strong > Output:< / strong > [" (())()" ," ()()()" ]
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > s = " (a)())()"
< strong > Output:< / strong > [" (a())()" ," (a)()()" ]
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 3:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > s = " )("
< strong > Output:< / strong > [" " ]
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = s.length < = 25< / code > < / li >
< li > < code > s< / code > consists of lowercase English letters and parentheses < code > ' (' < / code > and < code > ' )' < / code > .< / li >
< li > There will be at most < code > 20< / code > parentheses in < code > s< / code > .< / li >
< / ul >