c++ 确定一个字符数组s 的所有字符是否全都不同
时间: 2024-02-13 20:06:01 浏览: 28
可以使用一个布尔型数组来记录每个字符是否出现过,如果出现过就将对应的布尔值设为true,然后遍历一遍字符数组,如果发现某个字符对应的布尔值已经是true了,说明该字符不止出现了一次,那么就可以判断该字符数组不是所有字符都不同,反之则是所有字符都不同。
下面是一个示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
bool isAllUnique(char* s) {
bool exists[256] = {false}; // 256是ASCII码的字符数
int len = strlen(s);
for (int i = 0; i < len; i++) {
if (exists[s[i]]) {
return false;
}
exists[s[i]] = true;
}
return true;
}
int main() {
char s1[] = "abcdefg";
char s2[] = "abcdeag";
cout << isAllUnique(s1) << endl; // 输出1
cout << isAllUnique(s2) << endl; // 输出0
return 0;
}
```