[Algorithm] Leetcode_ 20 Valid Parentheses

JAsmine_log·2024년 7월 13일
0

20 Valid Parentheses

Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

An input string is valid if:

Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Every close bracket has a corresponding open bracket of the same type.

Example 1:

Input: s = "()"
Output: true

Example 2:

Input: s = "()[]{}"
Output: true

Example 3:

Input: s = "(]"
Output: false

Constraints:

  • 1 <= s.length <= 10^4
  • s consists of parentheses only '()[]{}'.

Code

C++

class Solution
{
public:
    bool isValid(string s)
    {
        stack<char> st;

        for (char e : s)
        {
            if (e == '{' || e == '[' || e == '(')
                st.push(e);
            else
            {
                if (st.empty())
                    return false;
                else if (st.top() == '(' && e == ')' || st.top() == '{' && e == '}' || st.top() == '[' && e == ']'){
                    st.pop();               
                }
                else
                    return false;
            }
        }
        return st.empty();
    }
};

profile
Everyday Research & Development

0개의 댓글