LeetCode 1249, Medium. Topics: String, Stack. View on LeetCode.
Generate this problem as a practice environment: tested reference solution, 21 parametrized pytest cases, and a playground notebook:
Problem
Given a string s of '(' , ')' and lowercase English characters.
Your task is to remove the minimum number of parentheses ( '(' or ')', in any positions ) so that the resulting parentheses string is valid and return any valid string.
Formally, a parentheses string is valid if and only if:
- It is the empty string, contains only lowercase characters, or
- It can be written as
AB (A concatenated with B), where A and B are valid strings, or
- It can be written as
(A), where A is a valid string.
Examples
Constraints
1 <= s.length <= 10^5
s[i] is either '(' , ')', or lowercase English letter.
Solution
Reference implementation from solution.py on GitHub, full suite in test_solution.py:
Complexity
NeetCode All. Last modified on September 7, 2026