Cracking the coding interview Q1.1
菜鸟一枚。刚开始看这本书,第一题就被卡住了。。。下面是书里给的solution, 有热心的高手可以帮忙解释以下吗?1. 1 Implement an algorithm to determine if a string
you can not use additional data structures?
1 public static boolean isUniqueChars(String str) {
2 int checker = 0;
3 for (int i = 0; i < str.length(); ++i) {
4 int val = str.charAt(i) - ‘a’;
5 if ((checker & (1 << val)) > 0) return false; //这里看不懂
6 checker |= (1 << val); //这也看不懂
7 }
8 return true;
9 }
先拜谢了。 bitwise --------------------编程问答-------------------- <<和>>是位运算符号,如果连位运算都不知道,请复习大学课本 计算机原理 位运算相关部分 --------------------编程问答-------------------- 谢谢raninbowsix的回复。 位运算符号 是理解的,我不理解的地方for 循环怎么来check 有没有重复 , 整个循环没看懂。。。
补充:Java , Java相关