题目描述 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。 测试样例: "aeiou" 返回:True "BarackObama" 返回:False 思路:使用一数组记录当前字符是否出现过。 C/C++ (clang++ 3.3) 1 class Different { 2 public: 3 bool checkDifferent(string iniString) { 4 decltype(iniString.size()) size = iniString.size(); 5 if (size==0 || size==1) 6 return true; 7 int dict[3000] = {0}; 8 for (decltype(size) i=0; i<size; ++i){ 9 if (dict[(int)iniString[i]]==1) 10 return false; 11 else 12 dict[(int)iniString[i]] = 1; 13 } 14 return true; 15 } 16 }; 您的代码已保存