给定一个字符串 s ,请你判断字符串中元素的种类数。
示例
输入: s = “abcabcbb”
输出: 3
解释: 因为字符的种类有 “abc”,所以其输出结果为 3。
代码如下
class Solution {
public int lengthOfLongestSubstring(String s) {
//将字符串转换成char类型的字符数组;
char arr[] = s.toCharArray();
int i,j,c=0,m=0,u=0;
char []n = new char[arr.length];
for(i=0;i<arr.length;i++){
m=0;
for(j=0;j<arr.length;j++){
if(arr[i] == n[j])
c++; //用来存储已经重复的字符的个数;
else
m++;//计算没有重复的字符个数,如果arr[i]在n数组中没有重复的元素,m的值等于arr.length;
}
//如果在arr[i]不与已经存在n中的字符重复,那么将arr[i]存入n中;
if(m == arr.length){
for(j=0;j<arr.length;j++){
//将a[i]存入n数组的末尾,通过n[j]=='\0'判断是否n[j]中是否有字符;
if(n[j] == '\0'){
n[j]=arr[i];
break;
}
}
}
}
System.out.println(c);
//将数组的长度减去重复的个数即字符串中字符的种类作为返回值;
return arr.length - c ;
}
}