#301

Remove Invalid Parentheses

hard · verified · 49.8% accepted · 6,064 likes · top 37%

string · backtracking · breadth-first search

⊣ practice⊣ quiz⊣ open on leetcode ↗

Description

Given a string s that contains parentheses and letters, remove the minimum number of invalid parentheses to make the input string valid.

Return a list of unique strings that are valid with the minimum number of removals. You may return the answer in any order.

Example 1:

Input: s = "()())()"
Output: ["(())()","()()()"]

Example 2:

Input: s = "(a)())()"
Output: ["(a())()","(a)()()"]

Example 3:

Input: s = ")("
Output: [""]

Solution