DIY: Valid Parenthesis String
Solve the interview question "Valid Parenthesis String" in this lesson.
We'll cover the following
Problem statement
You are given a string named s
. Your task is to find out if this string is valid. This string will only contain three type of characters i.e., (
, )
, and *
.
A string is valid if it follows the following rules:
-
Every left
(
parenthesis must have a corresponding right)
parenthesis. -
Every right
)
parenthesis must have a corresponding left)
parenthesis. -
Every Left parenthesis
(
should appear before the corresponding right)
parenthesis. -
We can treat
*
as a single right or left parenthesis i.e.,(
or)
or as an empty string" "
.
Constraints
- The length of the string
s
will be in the range[1,100]
. - Every
s[i]
will be either left(
, or right)
parenthesis or an asterisk*
.
Input
The input will be a string called s
. The following are example inputs:
// Example 1
s = "()"
// Example 2
s = "(*)"
// Example 3
s = "((*)"
// Example 4
s = "(()"
Output
The output will be a boolean i.e, either true
or false
. The followings are sample outputs to the above inputs:
// Example 1
true
// Example 2
true
// Example 3
true
// Example 4
false
Coding exercise
You need to implement the function checkValidString(s)
in the skeleton code below.
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.