// O(N) - 没有额外的数据结构...
private boolean isUniqueWithoutDS(String str){
boolean value = true;
int checker = 0;
for (int i = 0; i < str.length(); i++) {
int c = str.charAt(i) - 'a';
System.out.println("checker is : " + checker);
System.out.println("1<<c is " + (1<<c));
if((checker & (1 << c))>0){
value = false;
break;
}
checker = checker | 1<<c;
}
return value;
}
这是我的代码并且工作正常,我无法理解它如何处理大写字母和小写字母组合的字符串。例如“ Zizu”有效。对于所有小写字母字符串,它都有效,我也知道它是如何工作的。
饮歌长啸
慕森王
桃花长相依
相关分类