题目:
给定一个字符类型的数组chas[],判断chas中是否所有的字符都只出现一次。
举例:
chas=[‘a’,‘b’,‘c’],返回true;
chas=[‘1’,‘2’,‘1’],返回false。
解答:
遍历一遍chas,用map记录每种字符出现的情况,这样在遍历的时候发现重复字符的情况,map可以用固定长度的数组实现。
public class IsUnique1 {
public static boolean isUnque(char[] chas){
if(chas == null){
return true;
}
boolean[] map = new boolean[256];
for(int i = 0; i < chas.length; i++){
if(map[chas[i]]){
return false;
}else {
map[chas[i]] = true;
}
}
return true;
}
public static void main(String[] args) {
char[] chas = {'1','2','3'};
System.out.println(isUnque(chas));
}
}
参考资料:《程序员面试代码指南》左程云 著