Valid Parenthesis String
Beginner Mode

Problem Statement

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 "".

Additional information

  • 1 <= s.length <= 100
  • s[i] is '(', ')', or '*'.

Example 1:

Input: s = "()"

Output: true

Example 2:

Input: s = "(*)"

Output: true

Explanation: The '*' can be treated as an empty string.

Example 3:

Input: s = "(*))"

Output: true

Explanation: The '*' can be treated as a left parenthesis '(' to balance the extra right parenthesis.

Quick Solution

Code Environment

Sign in or try as guest to run your code.

Sign In

Track

Question Difficulty Company Access
Need more practice in this area? Explore more questions →