0
点赞
收藏
分享

微信扫一扫

LeetCode刷题(171)~判定字符是否唯一【位运算】


题目描述

实现一个算法,确定一个字符串 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;
}

运行结果

LeetCode刷题(171)~判定字符是否唯一【位运算】_提交代码


提交代码(位运算)

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;
}

运行结果

LeetCode刷题(171)~判定字符是否唯一【位运算】_leetcode_02

题目来源


举报

相关推荐

0 条评论