1. 程式人生 > >給定一個只包括 '(',')','{','}','[',']' 的字串,判斷字串是否有效。

給定一個只包括 '(',')','{','}','[',']' 的字串,判斷字串是否有效。

這個是刷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;
        }
    }