2116. Check if a Parentheses String Can Be Valid
Medium
Last updated
Medium
Last updated
A parentheses string is a non-empty string consisting only of '('
and ')'
. It is valid if any of the following conditions is true:
It is ()
.
It can be written as AB
(A
concatenated with B
), where A
and B
are valid parentheses strings.
It can be written as (A)
, where A
is a valid parentheses string.
You are given a parentheses string s
and a string locked
, both of length n
. locked
is a binary string consisting only of '0'
s and '1'
s. For each index i
of locked
,
If locked[i]
is '1'
, you cannot change s[i]
.
But if locked[i]
is '0'
, you can change s[i]
to either '('
or ')'
.
Return true
if you can make s
a valid parentheses string. Otherwise, return false
.
Example 1:
Example 2:
Example 3:
Constraints:
n == s.length == locked.length
1 <= n <= 105
s[i]
is either '('
or ')'
.
locked[i]
is either '0'
or '1'
.
這題和 678. Valid Parenthesis String 有異曲同工之妙。不過要記得處理字串長度為奇數的情況,如果長度是奇數括號一定是不合法的。