概述:
左耳朵耗子專欄《左耳聽風》 用戶自發每週完成一個ARTS:
1.Algorithm:每週至少做一個 leetcode 的算法題
2.Review:閱讀並點評至少一篇英文技術文章
3.Tip:學習至少一個技術技巧
4.Share:分享一篇有觀點和思考的技術文章
請實現一個算法,確定一個字符串的所有字符是否全都不同。這裏我們要求不允許使用額外的存儲結構。給定一個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);
}
}