20. 有效的括号

    技术2025-06-14  19

    leetcode刷题

    给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “([)]” 输出: false

    解题思路:有效括号采用的是栈Stack和哈希HashMap; 思想就是:首先s.length是奇数的话,一定不是成对的括号; hashmap中存放的是key=’(’ ,value=’)’ key和value存放的是一对完整的括号;然后我们存入的时候,是遇见左半边的括号( [ { 就入栈,然后遇见右半边的话就比较,s.charAt(i)是否等于stack.pop()栈顶元素,如果不等于直接返回false了,最后判断一下stack是否空,因为如果不是成对的话,一定有元素没有被弹出;如果是成对的话,stack一定是空的。

    class Solution { public
    Processed: 0.015, SQL: 9