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

at小涛

关注

阅读 53

2022-01-24

描述

给定一个只包括 '('')''{''}''['']' 的字符串 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;
    }
};

结果

结果图

精彩评论(0)

0 0 举报