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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


题目描述

实现一个算法,确定一个字符串 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)~判定字符是否唯一【位运算】_leetcode


提交代码(位运算)

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

题目来源

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/is-unique-lcci


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6