今天的题顺利写出来了!!!
3. 无重复字符的最长子串
题目:


题解:
java
class Solution {
public int lengthOfLongestSubstring(String s) {
// 左边界
int l=0;
// 不断找最长字符串
StringBuilder str=new StringBuilder();
// 最长不重复的长度
int maxx = 0;
int index = -1;
for(int i=0;i<s.length();i++) {
// StringBuilder 的 indexOf 方法 **只接受 String 参数!
index = str.indexOf(String.valueOf(s.charAt(i)));
// 说明在字符串中找到了当前的i
if(index!=-1) {
l=index+1;
str.delete(0,l);
}
//这里不能用else,因为如果有重复元素,
//我们需要把在str中的0-重复元素之间全部删掉,
//再把当前的i加入,如果没有重复元素,也应该把当前的i加入,
//这样更新最长长度
// 将当前字符加入str中
str.append(s.charAt(i));
// 更新最长
maxx=Math.max(maxx,str.length());
}
return maxx;
}
}