3 Longest Substring Without Repeating Characters

来源:互联网 发布:网络百家家乐公式赢钱 编辑:程序博客网 时间:2024/04/27 15:07
public class Solution {
    public int lengthOfLongestSubstring(String s) {
if(s==null||" ".equals(s)||s.length()==0) return 0;
        String str = new String();
        int len = s.length();
        int maxLen = 1;
        int curLen = 1;
        str += s.charAt(0);
        for(int i=1;i<len;++i){
        int p = str.indexOf(s.charAt(i));
int clen = str.length();
        if(p==-1){
        str += s.charAt(i);
        ++curLen;
        }else{
        if(p==0){
        str = str.substring(1, clen);
        str += s.charAt(i);
        }else if(p>0&&p<clen-1){
        str = str.substring(p+1, clen);
        str += s.charAt(i);
        curLen -= p;
        }else{
        str = "" + s.charAt(i);
        curLen = 1;
        }
        }
        if(curLen > maxLen){
        maxLen = curLen;
        }
        }
        return maxLen;
    }
}
0 0
原创粉丝点击