数组与字符串
实现一个算法,确定一个字符串的所有字符是否全部不同。假设不允许使用额外的数据结构,又该如何处理?
public boolean isUnicode(String str){
if(str.length()>256) return false;
boolean[] char_set = new boolean();
for(int i = 0;i<str.lenght();i++){
int val = str.charAt(i);
if(char_set[val]) {
return false;
}
char_set[val]=ture;
}
return true;
}
编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。
public void replacespaces(char[] str ,int length){
int spacecount = 0;
int newlenght = 0;
int i = 0;
for(i=0;i<length;i++){
spacecount++;
}
int newlenght = lenght + spacecount*2;
str[newlenght] = '\0';
for(i=lenght-1;i>=0;i--){
if(str[i]==' '){
str[newlenght-1] = '0';
str[newlenght-2] = '2';
str[newlenght-3] = '3';
newlenght = newlenght -3;
}else{
str[newlenght-1] = str[i];
newlenght = newlenght -1 ;
}
}
}