Valid Parentheses问题及解法

    xiaoxiao2021-03-25  143

    问题描述:

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

    The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

    问题分析:

    该题目主要是考察了栈的应用--先进后出的思想

    下面直接呈上我的代码:

    class Solution { public: bool isValid(string s) { stack<char> st; if(s.length() % 2) return false; for(int i = 0; i < s.length(); i++) { if(!st.empty()) { int flag = false; switch(st.top()) { case '(': if(s[i] == ')') flag = true; break; case '[': if(s[i] == ']') flag = true; break; case '{': if(s[i] == '}') flag = true; break; } if(flag) { st.pop(); continue; } } st.push(s[i]); } if(st.empty()) return true; return false; } }; 其实,代码还有很多可以精简的地方~~

    转载请注明原文地址: https://ju.6miu.com/read-3214.html

    最新回复(0)