找字符串中最长的不重复的子字符串
面试中,没理解好题意,理解成了相邻的不能重复的最长字符串了。哈哈哈哈,还得加强理解能力!
一种效率不高的解法:
if (s.equals(null) || s.equals(""))
return 0;
int maxLen = 1;
int begin = 0;
for(int i = 0; i < s.length(); i++) {
for(int j = begin; j < i; j++) {
if(s.charAt(j) == s.charAt(i)) {
int curLen = i - begin;
System.out.println("curLen: " + curLen);
if(maxLen < curLen)
maxLen = curLen;
begin = j + 1;
System.out.println("begin: " + begin);
break;
}
}
}
int size = s.length()-begin;
if(maxLen > size)
return maxLen;
return size;