该问题要求“实现一种算法来确定字符串是否具有所有唯一字符。
我看到了解决方案,但不太明白。
public boolean isUniqueChars(String str){
if(str.length()>256) return false;
boolean[] char_set = new boolean[256];
for(int i=0; i<str,length;i++){
int val=str.charAt(i);
if(char_set[val])
return false;
char_set[val]=true;
}
return true;
}
我们不使用parseInt或(int)将char转换为整数吗?
boolean[] char set=new boolean[256]
的含义是什么?
为什么我们需要此代码: - char_set[val]=true
?
答案 0 :(得分:1)
它基本上是尝试初始化一个数组,跟踪字符串中已经看到的字符。因此,如果之前已经出现过某个角色,char_set[val]
将为真,否则为假(默认值)。
我们是否使用parseInt
将字符转换为整数?
不,你不必。字符可以被视为内部整数,它们只是ASCII table