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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38455201/article/details/82887217

这个是刷LeetCode第20题的时候,当时想了很长的时间去解决,发现没有头绪,后来网上去百度解法,发现很多都写的挺复杂的看不懂。后来终于想到了一个解法,希望能给大家提供一个不同的思路。

public boolean isValid(String s) {
        //假如长度是1或者不为偶数
        if(s.length()<2||s.length()%2!=0){
            if(s.isEmpty()){
                return true;
            }
            else{
                return false;
            }
        }
        int count = 0;
        int length = s.length();
        //循环替换,最大次数为s.length()/2
        while(count<length/2){
            s = s.replace("{}","").replace("[]","").replace("()","");
            count++;
        }
        //假如循环替换完,还有值,那么肯定就不是对称结构
        if(s.length()>0){
             return false;
        }
        else{
             return true;
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_38455201/article/details/82887217
今日推荐