java新手-了解实际使用中的位操作 //确定字符串是否包含唯一字符 公共静态布尔值isUniqueChars(字符串str){ int-checker=0; 对于(int i=0;i
,则该算法可以工作,因为checker变成了一个位图,告诉您遇到了哪些字符 我想我会用一个例子来解释。假设我们的字符串是'bedb'。 我们从checker=0开始。 然后“b”来了。java新手-了解实际使用中的位操作 //确定字符串是否包含唯一字符 公共静态布尔值isUniqueChars(字符串str){ int-checker=0; 对于(int i=0;i,java,android,Java,Android,,则该算法可以工作,因为checker变成了一个位图,告诉您遇到了哪些字符 我想我会用一个例子来解释。假设我们的字符串是'bedb'。 我们从checker=0开始。 然后“b”来了。val==1因为'b'-'a'==1 (11)每个符号在单词中的位置为1,例如:a=1,b=10,c=100,d=1000 2) 棋盘格保存前面显示的每个符号的位位置(棋盘格|=(1 //determines if string contains unique characters public static b
val==1
因为'b'-'a'==1
(11)每个符号在单词中的位置为1,例如:a=1,b=10,c=100,d=1000
2) 棋盘格保存前面显示的每个符号的位位置(棋盘格|=(1
//determines if string contains unique characters
public static boolean isUniqueChars(String str) {
int checker = 0;
for (int i = 0; i < str.length(); ++i) {
int val = str.charAt(i) - 'a';
if ((checker & (1 << val)) > 0) <--- right here
return false;
checker |= (1 << val);
}
return true;
}