给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。


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