版权声明:本文为博主原创文章,未经博主允许不得转载。
难度:容易
要求:
写出一个函数 anagram(s, t)
判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。
样例
给出 s = "abcd",t="dcab",返回 true.
给出 s = "ab", t = "ab", 返回 true.
给出 s = "ab", t = "ac", 返回 false.
思路:
/**
* @param s: The first string
* @param b: The second string
* @return true or false
*/
public boolean anagram(String s, String t) {
if(s == null || s.length() == 0 || t == null || t.length() == 0){
return false;
}
int[] arr = new int[255];
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
arr[c]++;;
}
for(int i = 0; i < t.length(); i++){
char c = t.charAt(i);
if(arr[c] > 0){
arr[c]--;
}else{
return false;
}
}
for(int i = 0; i < arr.length; i++){
if(arr[i] > 0){
return false;
}
}
return true;
}