1、實現一個算法,確定一個字符串 s
的所有字符是否全都不同。
class Solution {
public boolean isUnique(String astr) {
int len = astr.length();
for(int i=0; i<len; i++){
for(int j=i+1; j<len; j++){
if(astr.charAt(i) == astr.charAt(j)){
return false;
}
}
}
return true;
}
}
2、給定兩個字符串 s1
和 s2
,請編寫一個程序,確定其中一個字符串的字符重新排列後,能否變成另一個字符串。
- 方法一
class Solution {
public boolean CheckPermutation(String s1, String s2) {
if(s1.length() != s2.length()){
return false;
}
int[] temp = new int[256];
for(int i=0;i<s1.length();i++){
temp[s1.charAt(i)]++;
}
for(int i=0;i<s2.length();i++){
if(temp[s2.charAt(i)] == 0){
return false;
}
temp[s2.charAt(i)]--;
}
return true;
}
}
- 方法二
class Solution {
public boolean CheckPermutation(String s1, String s2) {
int len1 = s1.length();
int len2 = s2.length();
if(len1!=len2) return false;
String newS1 = fun(s1);
String newS2 = fun(s2);
if(newS1.equals(newS2)){
return true;
}else{
return false;
}
}
public String fun(String s){
char[] ch = s.toCharArray();
int len = s.length();
char temp;
for(int i=0; i<len; i++){
for(int j=0; j<len-1; j++){
if(ch[j] > ch[j+1]){
temp = ch[j];
ch[j] = ch[j+1];
ch[j+1] = temp;
}
}
}
return String.valueOf(ch);
}
}