程序员面试金典题解 01.01. 判定字符是否唯一
程序员面试金典力扣题解 01.01. 判定字符是否唯一
本题需要判断一个字符串中是否有重复出现的字符,可以利用桶排序的思想,创建一个数组来
记录,为什么不用哈希表呢?因为这道题目给出的字符全部都是字符,最多只有26个,创建一个数
组占用不了多少空间。如果题目给出的是整数的话,就不能用数组来记录了,因为给出的数据范围
一般都会比较大,没办法创建数组,只能创建哈希表来记录是否出现过。
java代码
class Solution {
public boolean isUnique(String astr) {
boolean[] flag = new boolean[26];//创建一个数组用来判断
int len = astr.length();// 提前记录长度 不然在循环中一直调用length()函数会影响效率
for(int i=0;i<len;i++){
char ch = astr.charAt(i);
if(flag[ch-'a'] == false){//如果第一次出现就记录一下
flag[ch-'a'] = true;
}else{//如果已经出席过直接结束
return false;
}
}
return true;
}
}
力扣题目
这是题目链接 判断字符是否唯一