面试题 01.01. 判定字符是否唯一
实现一个算法,确定一个字符串 s
的所有字符是否全都不同。
示例 1:
输入: s = "leetcode"
输出: false
示例 2:
输入: s = "abc"
输出: true
限制:
0 <= len(s) <= 100
- 如果你不使用额外的数据结构,会很加分
class Solution {
public boolean isUnique(String astr) {
HashSet<Character> hashSet = new HashSet<>();
for(int i=0;i<astr.length();i++){
if(hashSet.contains(astr.charAt(i)))
return false;
else
hashSet.add(astr.charAt(i));
}
return true;
}
}
位运算
class Solution {
public boolean isUnique(String astr) {
long a = 0;
for(char c:astr.toCharArray())
a ^= 1L<<(c-65);
if(Long.bitCount(a)==astr.length())
return true;
return false;
}
}