通过位操作判断字符串中是否存在重复字符
2013-03-31 21:27
295 查看
1.1 Implement an algorithm to determine if a string has all unique characters What if
you can not use additional data structures?
code:
you can not use additional data structures?
code:
//判断字符串中是否有重复字符,字符范围‘a-z’。 #include <iostream> #include <string> using namespace std; bool isUniqueChars(string str) { int checker = 0; for(int i = 0;i < str.length();++i) { int val = str.at(i) - 'a';//字符范围‘a-z’,故减去最小字符a即可。 cout << "checker: " << checker << "\t" << "val: " << val << endl; //checker & (1<< val))要么为零,要么为2的(1<<val)次方, //不同的字符产生不同的val,从而导致每次checker&(1<< val))=0 if((checker & (1<< val)) > 0) return false; //不同的字符产生不同的val,二进制形式的checker中每一个位可代表一个字符, //通过“或操作”填充checker中不同的二进制位 checker |= (1<< val); } return true; } int main() { if(isUniqueChars("ebceq")) cout << "无重复!"; else cout << "有重复!"; return 0; }
相关文章推荐
- 通过JS,Jquery判断某个字符在一个字符串中是否存在的方法
- 判断字符串是否可以通过交换相邻字符得到回文字符串,如果可以输出最少交换次数
- 判断某个字符在一个字符串中是否存在的js代码
- SQL SERVER 判断该字符串中是否存在重复的数字
- Lintcode 157. 判断字符串是否没有重复字符
- 正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
- python_lintcode_685First Unique Number In Stream_157判断字符串是否没有重复字符
- Lintcode 容易 python 判断字符串是否没有重复字符
- lintcode-157-判断字符串是否没有重复字符
- lintcode 容易题:Unique Characters 判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- 检测传入字符串是否存在重复字符,返回boolean
- java 判断字符串中是否有重复字符的示例
- js 判断字符 是否存在于某个字符串中
- 华为机试---判断字符串是否存在重复子串
- js判断字符串中是否存在某些字符的方法
- 判断字符串是否没有重复字符
- 【Lintcode】判断字符串是否没有重复字符
- 判断字符串是否没有重复字符
- 判断字符串是否没有重复字符(容易)