LeetCode -- 020.有效的括号

8/11/2022 有效的括号

#

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

  • 左右括号必须类型相同才能闭合。
  • 括号必须以正确的顺序进行闭合。
"()[]{}" => true
"([)]" => false
"{[]}" => true
1
2
3

#

# 思路1:利用栈结构来管理字符串

var isValid = function (s) {
    let stack = []
    let obj = {
        "[": "]",
        "(": ")",
        "{": "}",
    };
    for(var i = 0; i < s.length; i++) {
        const ele = s[i]
        // 左括号入栈
        if(ele in obj) {
            stack.push(ele)
        }else {
            // 出栈跟右括号比较
            if(ele !== obj[stack.pop()]) {
                return false
            }
        }
    }
    // 遍历结束后,如果有效,栈应该就是空的。
    return !stack.length
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# Try

有效的括号 (opens new window)

Last Updated: 9/13/2022, 6:15:32 PM