思路1
运用ASC||码值,小写的a对应的ASCII码值为97;后面依次增加(A对应的ASC||码值为65)。
定义一个数组,记录每一个字符出现的次数,(数组下标为字符ASC||码-65)
若数组相应位置存储的值>1,则字符重复出现,return false;
public static boolean isUnique(String astr)
{
int [] count = new int [100];
char [] ac = astr.toCharArray();
for(char temp: ac) {
count[temp-65]+=1;
}
for(int i: count)
if(i>1) return false;
return true;
}
}
思路2
利用HashSet去重,判断利用Set存储的长度与原字符串的长度是否一致;
若<原长度,则出现重复了
public boolean isUnique(String astr) {
Set set = new HashSet();
for (int i = 0; i <astr.length() ; i++) {
set.add(astr.charAt(i));
}
return set.size() == astr.length();
}
网友评论