题目描述
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例 1:
输入: s = "leetcode"
输出: false
示例 2:
输入: s = "abc"
输出: true
限制:
- 0 <= len(s) <= 100
- 如果你不使用额外的数据结构,会很加分。
解答 By 海轰
提交代码(哈希)
bool isUnique(string astr) {
unordered_set<char> s;
for(char i:astr)
{
if(s.find(i)!=s.end())
return false;
else
s.insert(i);
}
return true;
}
运行结果
提交代码(位运算)
bool isUnique(string astr) {
int mark=0;
for(int i=0;i<astr.size();++i)
{
int num=1<<(astr[i]-'a');
if(num & mark)
return false;
else
mark|=num;
}
return true;
}
运行结果
题目来源