1.1 实现一个算法,确定一个字符串的所有字符是否全都不同。假使不允许使用额外的数据结构,又该如何处理?
package mainshijindian;
import java.util.Scanner;
import event_test.newCoder_1;
public class isUniqueChars2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner inpur=new Scanner(System.in);
String str=inpur.next();
if(str.length()>256){//如果字符串长度大于256,则有重复字符
System.out.println("False");
return;
}
boolean[] char_set = new boolean[256];//创建长度为256的布尔型数组,存储当前字母是否存在
for(int i=0;i<str.length();i++)
{
int var = str.charAt(i); //得到字符串中的第i个字符的ASCII码
//System.out.println("var "+var);
if(char_set[var]) //如果该字符已存在,则直接返回False
{
System.out.println("False");
return;
}
char_set[var]=true; //如果该字符不存在,则将该位置为True
}
System.out.println("True"); //没有在中间退出,则表示该字符满足无重复字符的条件,返回True
}
}