确定字符串是否具有唯一字符

时间:2015-02-27 18:52:29

标签: algorithm

该问题要求“实现一种算法来确定字符串是否具有所有唯一字符。

我看到了解决方案,但不太明白。

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

1 个答案:

答案 0 :(得分:1)

它基本上是尝试初始化一个数组,跟踪字符串中已经看到的字符。因此,如果之前已经出现过某个角色,char_set[val]将为真,否则为假(默认值)。

我们是否使用parseInt将字符转换为整数?
不,你不必。字符可以被视为内部整数,它们只是ASCII table

中的一些整数