实现一个算法,确定一个字符串 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 的所有字符是否全都不同的主要内容,如果未能解决你的问题,请参考以下文章