Unique Characters(判断字符串是否没有重复字符)

问题

Implement an algorithm to determine if a string has all unique characters.
Example
Given "abc", return true.
Given "aab", return false.

分析

一个思路是使用额外的空间,遍历时把字符存进去,如果发现已经存过就表明有重复的。
这里我们用另外一种来实现,从一端开始遍历,然后反方向查找相同的元素,如果到自己这个位置还没有就进行下一次循环,如果有一次找到就表明有重复元素。

代码

    /**
     * @param str: a string
     * @return: a boolean
     */
    public boolean isUnique(String str) {
        // write your code here
        for(int i=str.length()-1;i>=0;i--){
            int temp=str.indexOf(str.charAt(i));
            if(temp!=i){
                return false;
            }
        }
        return true;
    }
}

你可能感兴趣的:(Unique Characters(判断字符串是否没有重复字符))