一、题目
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例 1:
输入: s = “leetcode”
输出: false
示例 2:
输入: s = “abc”
输出: true
二、思路
位运算
1.搞一个位图
2.判断是否重复 (n>>x)&1==1
3.不重复则写入 n |= (1<<x)
三、代码
class Solution {
public:
bool isUnique(string astr) {
if(astr.size()>26) return false;
int bitmap = 0;
for(auto ch: astr){
int i = ch-'a';
if(((bitmap>>i)&1)==1) return false;
bitmap |= (1<<i);
}
return true;
}
};