题目描述:
解题思路:可以String类的方法,用两层循环,第一层循环是不断从前往后走,用 i 遍历字符串,第二层循环则从第一层循环开始往后查找最长无重复子串。在第二层循环中,每次按照索引 j 将字符串拆分成子串,然后再从 i 开始查找该子串的位置,如果该位置就是索引 j 当前的位置,则继续往下寻找, 否则跳出循环,更新 max
class Solution {
public int lengthOfLongestSubstring(String s) {
if(s.length()==0||s.length()==1){
return s.length();
}
int max=1;
for(int i=0;i<s.length()-1;i++){
int len=1;
for(int j=i+1;j<s.length();j++){
//判断是否有重复的字符
if(s.indexOf(s.substring(j,j+1),i)==j){
++len;
}else{
break;
}
}
//更新最长无重复子串长度
max=len>max?len:max;
}
return max;
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容