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


public int lengthOfLongestSubstring(String s) {
        if(s.length()==0||s==null){
            return 0;
        }
        int len=0;
        HashSet<Character> hashSet = new HashSet<Character>();
        for(int i=0,j=0;i<s.length();i++){
            /*if(hashSet.contains(s.charAt(i))){
                 hashSet.remove(s.charAt(j++));
                 hashSet.add(s.charAt(i));
            }else{
                hashSet.add(s.charAt(i));
                len = Math.max(hashSet.size(),len);
            }*/
            while(hashSet.contains(s.charAt(i))){
                hashSet.remove(s.charAt(j++));
                //hashSet.add(s.charAt(i));
            }
            hashSet.add(s.charAt(i));
            len = Math.max(hashSet.size(),len);
        }
        return len;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM