实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例 1:
输入: s = "leetcode"
输出: false
示例 2:
输入: s = "abc"
输出: true
限制:
0 <= len(s) <= 100
如果你不使用额外的数据结构,会很加分。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/is-unique-lcci
分析:在不采用set,map等数据结构时,可采用转化成数字,并采用布尔型数组进行标记判断。
代码:
class Solution {
public:
bool isUnique(string astr) {
int len=astr.size();
bool vis[26];//0-26分别对应26个字母
memset(vis,0,sizeof(vis));
for(int i=0;i<len;i++){
int s=astr[i]-'a';
if(!vis[s])//第一次出现,则进行标记,否则返回false
vis[s]=1;
else
return false;
}
return true;
}
};