请实现一个算法,确定一个字符串的所有字符是否全都不同。
在牛客网刷了一道题目,虽说简单,但自己解决的想法跟直接插入排序的想法类似,感觉挺有趣的,就写了下来。题目如下
解决方法。
public boolean checkDifferent(String iniString) {
//转为字符数组
char[] c = iniString.toCharArray();
//首先设置为true,假设字符串中的字符都不重复
boolean flag = true;
for(int i=1; i<iniString.length(); i++){
//如果为false,直接结束循环
if (flag == false)
break;
//比较的字符,从c[1]开始
char temp = c[i];
//c[1]与c[0]比较,c[2]与c[1]、c[0]比较,
//c[3]与c[2]、c[1]、c[0]比较,.......如果有字符相同,结束循环,返回false
for(int j=i-1; j>=0; j--){
if(c[j] == temp){
flag = false;
break;
}
}
}
//返回flag
return flag;
}
public static void main(String[] args) {
Test test = new Test();
String s1 = "aeiou";
System.out.println(test.checkDifferent(s1));
String s2 = "BarackObama";
System.out.println(test.checkDifferent(s2));
}