题目:判断一个给定的字符串中是否存在重复字符
解答:
为了简单起见,假定需要进行判断的字符串的所有字符都在ASCII基础字符表范围内,判断算法如下:
private boolean hasDuplicateCharacter(String str){
if(str == null){
return false;
}else{
//虽然编译器在初始化boolean参数时会为其赋默认初始值false,但是正式
//生产环境仍会要求显式为变量赋初值,此处为偷懒
boolean[] asciiCodes = new boolean[127];
for(int i=0; i<str.length; i++){
char c = str.charAt(i);
if(asciiCodes[c]){
return true;
}else{
asciiCodes[c] = true;
}
}
return false;
}
}