给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.
如abcdd,最长无重复字串为abc,长度为3
public class NoRepeatString {
//给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
public static void main(String[] args) {
// TODO Auto-generated method stub
String s;
Scanner sc = new Scanner(System.in);
System.out.println("输入字符串");
s = sc.nextLine();
// System.out.println(s);
method(s);
}
private static void method(String s) {
// TODO Auto-generated method stub
int ans = 0;
for(int i=0;i<s.length();i++) {
for(int j=i+1;j<=s.length();j++) {
if(allUnique(s,i,j)) ans = Math.max(ans,j-i);
}
}
System.out.println(ans);
}
private static boolean allUnique(String s, int start, int end) {
// TODO Auto-generated method stub
List<Character> list = new ArrayList();
for(int i=start;i<end;i++) {
char r=s.charAt(i);
if(list.contains(r)) {
return false;
}
list.add(r);
}
return true;
}
}