题目:实现一个算法确定字符串中的字符是否均唯一出现
样例
给出"abc"
,返回 true
给出"aab"
,返回 false
package com.ak.demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
/**
* 实现一个算法确定字符串中的字符是否均唯一出现
* @author ak
*
*/
public class IsUnique {
public static void main(String[] args) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一串字符串,并按回车键结束:");
try {
String ling = in.readLine();
boolean bool = isUnique(ling);
System.out.println(bool);
} catch (IOException e) {
e.printStackTrace();
}
}
方法一
public static boolean isUnique(String str) {
boolean falg = true;
String[] strs = str.split("");
String temp = "";
for(int i = 0;i<strs.length; i++){
for(int j = i+1;j<strs.length;j++){
if(strs[i].equals(strs[j])){
temp = strs[i];
falg = false;
}
}
System.out.println("相同的字符:" + temp);
}
System.out.println("标志:"+ falg);
return falg;
}
方法二
public static boolean isUnique(String str) {
boolean flag = true;
System.out.println("传进来字符的长度:" + str.length());
char[] ch = str.toCharArray();
Set<String> set = new HashSet<String>();
for(char val : ch){
set.add(val+"");
}
int size = set.size();
if(size != str.length()){
flag = false;
}
System.out.println("标志:"+ flag);
return flag;
}
}
/**
* 样例
给出"abc",返回 true
给出"aab",返回 false
*/