其他分享
首页 > 其他分享> > LeetCode Hot 100——20. 有效的括号(beats 100%)

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;
    }
};

结果

结果图

标签:20,int,100%,括号,beats,bracket,each,字符串,ASCII
来源: https://blog.csdn.net/qq_44076667/article/details/122673027