实现一个算法确定字符串中的字符是否均唯一出现
您在真实的面试中是否遇到过这个题?给出"abc"
,返回 true
给出"aab"
,返回 false
如果不使用额外的存储空间,你的算法该如何改变?
相关题目 Expand
public class Solution {
/**
* @param str: a string
* @return: a boolean
*/
public boolean isUnique(String str) {
// write your code here
if(str == null||str.length() ==0) return true;
int arr[] = new int[256];
boolean flag = true;
for(int i=0;i<256;i++){
arr[i] = 0;
}
for(int i=0;i<str.length();i++){
arr[(int)str.charAt(i)] =arr[(int)str.charAt(i)]+1;
}
for(int i=0;i<256;i++){
if(arr[i]>1){
flag = false;
break;
}
}
return flag;
}
}
/**
* @param str: a string
* @return: a boolean
*/
public boolean isUnique(String str) {
// write your code here
if(str == null||str.length() ==0) return true;
boolean flag = true;
for(int i=0;i<str.length();i++){
for(int j=0;j<i;j++){
if(str.charAt(i)==str.charAt(j)){
flag = false;
break;
}
}
}
return flag;
}
}