给定一个只包含字符’(’,’)’,’{’,’}’,’[‘和’]'的字符串,判断输入字符串是否有效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个只包含字符’(’,’)’,’{’,’}’,’[‘和’]'的字符串,判断输入字符串是否有效相关的知识,希望对你有一定的参考价值。

public class Bracket {

    public static void main(String[] args) {
        String str = "[()]";
        System.out.println(isValid(str));
    }

    // [()]
    public static boolean isValid(String str) {
        Stack<Character> stack = new Stack<>();
        Map<Character, Character> map = new HashMap<Character, Character>();
        map.put(), ();
        map.put(}, {);
        map.put(], [);
        char[] chs = str.toCharArray();
        for (Character ch : chs) {
            if (!map.containsKey(ch)) {
                stack.push(ch);
            } else {
                Character item = map.get(ch);
                if (stack.isEmpty() || !item.equals(stack.pop())) {
                    return false;
                }
            }
        }
        return stack.isEmpty();
    }
}

 

以上是关于给定一个只包含字符’(’,’)’,’{’,’}’,’[‘和’]'的字符串,判断输入字符串是否有效的主要内容,如果未能解决你的问题,请参考以下文章

2022-10-13:给定一个只包含三种字符的字符串:( ) 和 *, 写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 )

Leetcode练习(Python):第389题:找不同:给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加

Leetcode练习(Python):第389题:找不同:给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加

字符串哈希

获取文件夹和文件的 JSON 树(但仅限于包含给定字符串的文件)

字符串哈希