LeetCode Hot 100——20. 有效的括号(beats 100%)

描述

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

	1、左括号必须用相同类型的右括号闭合。
	2、左括号必须以正确的顺序闭合。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses

思路

利用各对左右括号的ASCII码距离不超过2(ASCII码一览表

代码

class Solution {
public:
    bool isValid(string s) {
        // 利用左右括号的ASCII码距离不超过2
        stack<char> bracket;
        for (char each: s) {
            if (bracket.empty() or int(each - bracket.top()) > 2 or int(each - bracket.top()) < 1)
                bracket.push(each);
            else
                bracket.pop();
        }

        if (bracket.empty())
            return true;
        return false;
    }
};

结果

LeetCode Hot 100——20. 有效的括号(beats 100%)

上一篇:EOF(end of file)


下一篇:练习-Java字符串之字符串、字符数组与字节数组间的使用之统计单词中各字母的ASCII码值的和