请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。
package 面试算法题目; /** * @author idea * @data 2019/10/13 */ public class StringTest { //默认全部为0 private static int[] charsIntArr = new int[256]; /** * 转换为字符数组 这里面不考虑转义字符 * * @param iniString * @return */ public boolean checkDifferent(String iniString) { int len = iniString.length(); if(len>256) { return false; } for (int i = 0; i < len; i++) { int item=iniString.charAt(i); System.out.println(item); if(charsIntArr[item]==1){ return false; } charsIntArr[item]=1; } return true; } public static void main(String[] args) { StringTest s = new StringTest(); boolean result = s.checkDifferent("//72"); System.out.println(result); } }