判断字符串是否合法

Posted journey-of-dreams

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断字符串是否合法相关的知识,希望对你有一定的参考价值。

给定模拟字符串\'[()]{{}}\',给定字符串只含有括号,要求括号闭合。

不合法字符串形如[(]){}{[](){(})[]}{}{[]

基本思路:

  • 给定字符串的字符数一定为偶数

  • 遇到右半边括号时,它左侧相邻的必定是同种类型的左半边括号

let arr = []

function isLegal(str) {
    let strArr = str.split(\'\')
    if (str.length % 2 !== 0) {
        return \'不合法\'
    }
    strArr.forEach(item => {
        let len = arr.length - 1
        switch (item) {
            case \'{\':
                arr.push(\'{\')
                break;
            case \'[\':
                arr.push(\'[\')
                break;
            case \'(\':
                arr.push(\'(\')
                break;
            case \'}\':
                if (arr[len] === \'{\') {
                    arr.pop()
                }
                break;
            case \']\':
                if (arr[len] === \'[\') {
                    arr.pop()
                }
                break;
            case \')\':
                if (arr[len] === \'(\') {
                    arr.pop()
                }
                break;
        }
    });
    return arr.length === 0 ? \'合法\' : \'不合法\'
}
console.log(isLegal(\'{(})[]\')); //不合法

以上是关于判断字符串是否合法的主要内容,如果未能解决你的问题,请参考以下文章

输入一个字符串,判断其是不是是C的合法标识符。用c语言编写程序。

laya---判断字符串是否合法

laya---判断字符串是否合法

JAVA 判断一个字符串是否一个合法的日期格式

JAVA 怎么判断一个字符串是否一个合法的日期格式??

判断字符串是否合法