零、欸嘿!
英雄哪里出来《C语言入门100例》传送门
每天会开启一篇试读文章,每日打卡就可以一直白嫖哦
一、题目
难度简单161
实现一个算法,确定一个字符串
s
的所有字符是否全都不同。示例 1:
输入: s= "leetcode" 输出: false
力扣
https://leetcode-cn.com/problems/is-unique-lcci/
二、解题
思路:定义一个数组,用已知astr作为他得下标,记录相同的字符出现的次数。
bool isUnique(char* astr){ //给的要判断是不是字符都不同的数组
int has[128]; // 定义一个数组,可以容纳所有字符,asxii码是0-127 共有128个
memset(has,0,sizeof(has)); //初始化数组都为零,不然会出现一些乱七八糟的数
for(int i=0;i<strlen(astr);i++){ 循环遍历,strlen()函数计算数组长度
has[astr[i]]++; //当astr[i]与另一个astr[i]相等时,has[astr[i]]就会被++两次,变成2
if(has[astr[i]]==2){ //2说明同于1个字符已经出现了两次
return false; //返回false
}
}
return true; //直到最后还是0或1,那就对了,返回 true
}
三、结果