最長不重複子串

給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度

代碼:

public int lengthOfLongestSubstring(String s) {
        int maxSubLen = 0;
        String maxStr = "";
        String tempStr = "";
        for (int i =0;i<s.length();i++){
            tempStr = getTempStr(tempStr,s.charAt(i)+"");
            if(maxSubLen < tempStr.length()){
                maxSubLen = tempStr.length();
                maxStr = tempStr;
            }
        }
        System.out.println(maxStr+" "+ maxSubLen);
        //return
        return maxSubLen;
    }

    public String getTempStr(String tempStr,String newStrChar){
        if(!tempStr.contains(newStrChar)){
            tempStr = tempStr + newStrChar;
            return tempStr;
        }
        //包含char
        return tempStr.substring(tempStr.indexOf(newStrChar)+1,tempStr.length())+newStrChar;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章