实现一个算法,确定一个字符串 s 的所有字符是否全都不同

Posted love-xk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现一个算法,确定一个字符串 s 的所有字符是否全都不同相关的知识,希望对你有一定的参考价值。

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。

示例 1:

输入: s = "leetcode"
输出: false
示例 2:

输入: s = "abc"
输出: true
限制:

0 <= len(s) <= 100
如果你不使用额外的数据结构,会很加分.

//我的解决方案
/**
根据set存储结构的特性,把字符串拆分后放到set中,这样可以去重
在拿原先的字符串长度和set的长度对比,如果相等说明set中没有重复的,不相等说明set进行了去重操作,所以原先的字符串有重复的

*/
class Solution {
    public boolean isUnique(String astr) {
          char[] chars = astr.toCharArray();
                HashSet hashSet = new HashSet();
        for (char aChar : chars) {
            hashSet.add(aChar);
        }


            return chars.length==hashSet.size()?true:false;


    }
}

class Solution {
    public boolean isUnique(String astr) {
        for(int i=0;i<astr.length();i++){
            //indexOf(int ch, int fromIndex) 返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。 
            //返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。 
            if(astr.indexOf(astr.charAt(i),i+1) > -1)  //拿当前的字符串,到该字符串后面进行检索是否有该字符
                return false;
        }
        return true;
    }
}


    public static boolean isUnique3(String astr) {
    for (char a : astr.toCharArray()) {
        //如果操作的字符从前后检索位置不一样说明有重复字符
        if(astr.lastIndexOf(a) != astr.indexOf(a)){
            return false;
        };
    }
    return true;
}

以上是关于实现一个算法,确定一个字符串 s 的所有字符是否全都不同的主要内容,如果未能解决你的问题,请参考以下文章

实现一个算法,确定一个字符串的所有字符是否全都不同

实现一个算法来确定一个字符串是不是具有所有唯一字符(大于 U+FFFF 的字符)

刷题笔记判断字符是否唯一

刷题笔记判断字符是否唯一

letcode 第三题 判定字符是否唯一

letcode 第三题 判定字符是否唯一