Skip to content
在本页面

有效的括号

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

有效字符串需满足:

  • 左括号必须用相同类型的右括号闭合。
  • 左括号必须以正确的顺序闭合。
  • 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

提示:

  • 1 <= s.length <= 10^4
  • s 仅由括号 '()[]{}' 组成

TypeScript
function isValid(s: string): boolean {
    if (s.length % 2 === 1) return false;
    const obj = { '{': '}', '(': ')', "[": "]" };
    let arr = []
    for (let i = 0; i < s.length; i++) {
        if (s[i] in obj) {
            arr.push(obj[s[i]])
        } else if (arr.pop() !== s[i]) {
            return false;
        }
    }
    return !arr.length;
};

console.log(isValid("()"))
console.log(isValid("()[]{}"))
console.log(isValid("(]"))
console.log(isValid("("))

Released under the MIT License.