bool isunique(string astr)
时间: 2023-05-02 21:06:20 浏览: 76
函数isunique传入一个字符串astr,判断该字符串中的每个字符是否都不相同,如果是就返回true,否则返回false。
要实现这个函数,可以考虑使用一个bool类型的数组来记录每个字符是否已经出现过。假设astr的长度为n,那么可以创建一个长度为256的bool数组,用来记录所有256个ASCII字符是否出现过(因为一个字符的ASCII码最大为255)。
然后对于astr中的每个字符,将其对应的bool数组位置设为true。如果有字符已经出现过了,就说明astr中有重复字符,直接返回false。如果astr中的所有字符都遍历完了都没有返回false,就说明每个字符都只出现了一次,返回true。
代码如下:
bool isunique(string astr) {
bool appeared[256] = {false};
for (char c : astr) {
if (appeared[c]) {
return false;
}
appeared[c] = true;
}
return true;
}
相关问题
bool cmp(string a, string b)
这是一个关于字符串比较的问题,可以回答。在 C++ 中,可以使用 bool cmp(string a, string b) 函数来比较两个字符串 a 和 b 的大小关系,其中 cmp 函数需要自己实现。一般来说,可以按照字典序进行比较,如果 a 小于 b,则返回 true,否则返回 false。
C++ bool怎么转string
可以使用以下方法将bool转换为string:
1. 使用to_string()函数:
```c++
bool b = true;
string s = to_string(b);
```
2. 使用条件运算符:
```c++
bool b = false;
string s = b ? "true" : "false";
```
3. 使用stringstream:
```c++
bool b = true;
stringstream ss;
ss << b;
string s = ss.str();
```