题目:
给定一个字符类型数组chas[],判断chas中所有的字符都只出现过一次,
举例:
chas = ['a','b','c'] 返回true
chas = ['1','2','1'] 返回false
思路:
遍历一遍 chas ,用map记录每种字符出现的情况,这样可以在遍历的时候发现字符重复的情况。
初始化一个boolean类型的数组(这个数组初始时所有位置都是false),然后遍历chas,如果当前这个位置是false,就把他改为true,这时说明这个字符已经出现过了,如果时true,就返回false。
代码实现:
public static boolean isUnique(char[] chas) {
if (chas == null) {
return true;
}
//初始化一个map
boolean[] map = new boolean[256];
for (int i = 0; i < chas.length; i++) {
if (map[chas[i]]) {
return false;
}
map[chas[i]] = true;
}
return true;
}