LeetCode--20. Valid Parentheses

    xiaoxiao2021-03-25  73

    [题目] Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.

    For “(()”, the longest valid parentheses substring is “()”, which has length = 2.

    Another example is “)()())”, where the longest valid parentheses substring is “()()”, which has length = 4.

    Subscribe to see which companies asked this question.

    [思路] 一道很水的题,考察了stack的使用,所以我决定再刷一题

    [c++代码]

    class Solution { public: bool isValid(string s) { stack<char> characters; bool valid = true; for (char &cha: s) { if (cha == '(' || cha == '{' || cha == '[') { characters.push(cha); } else if (cha == ')' || cha == '}' || cha == ']') { //查了ASCII表,正确匹配的符号之间的差为1或者2,其他都是无效的 if (characters.empty() || (cha - characters.top() != 2 && cha - characters.top() != 1)) { valid = false; break; } characters.pop(); } } //检查stack中符号是否全部匹配 if (!characters.empty()) { valid = false; } return valid; } };
    转载请注明原文地址: https://ju.6miu.com/read-39386.html

    最新回复(0)