678. Valid Parenthesis String
Description
Given a string s
containing only three types of characters: '('
, ')'
and '*'
, return true
if s
is valid .
The following rules define a valid string:
- Any left parenthesis
'('
must have a corresponding right parenthesis')'
. - Any right parenthesis
')'
must have a corresponding left parenthesis'('
. - Left parenthesis
'('
must go before the corresponding right parenthesis')'
. '*'
could be treated as a single right parenthesis')'
or a single left parenthesis'('
or an empty string""
.
Example 1:
1 | Input: s = "()" |
Example 2:
1 | Input: s = "(*)" |
Example 3:
1 | Input: s = "(*))" |
Constraints:
1 <= s.length <= 100
s[i]
is'('
,')'
or'*'
.
Hints/Notes
- 2024/12/30
- stack
- No solution from 0x3F
Solution
Language: C++
More intuitive solution with stack
1 | class Solution { |
1 | class Solution { |