题目:实现一个算法,确定一个字符串的所有字符全都不同。家是不允许使用额外的数据结构,又该如何处理。
/**
*
*/
package Chapter_8;
import java.util.Scanner;
/**
* @author MohnSnow
* @time 2015年5月21日 下午5:27:32
*
*/
public class chapter8_1_1 {
/**
* @param argsmengdx
* -fnst
*/
private static void charAllDiff(String str) {
if (str.length() > 256) {// 此处假使是ASCII码,非UNICODE码
System.out.print("字符存在相同");
return;
}
boolean[] bookStr = new boolean[256];// 默认为false
System.out.println(bookStr[0]);
for (int i = 0; i < str.length(); i++) {
int j = str.charAt(i);
System.out.println(j);
if (bookStr[j]) {
System.out.print("字符存在相同");
return;
} else {
bookStr[j] = true;
}
}
System.out.print("字符全部都不同");
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String a = in.nextLine();
System.out.println(a);
charAllDiff(a);
// StringBuilder b = new StringBuilder();线程不安全的,适合大数量单线程
// StringBuffer b = new StringBuffer();线程安全的,适合大数量多线程,速度StringBuilder>StringBuffer
}
}