给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
例如,
s = "anagram",t = "nagaram",返回 true
s = "rat",t = "car",返回 false
思路一:
public boolean isAnagram(String s, String t) {
if(s.length() != t.length())
return false;
int[] nums1 = new int[256];
int[] nums2 = new int[256];
Arrays.fill(nums1, 0);
Arrays.fill(nums2, 0);
for(int i = 0 ;i< s.length(); i++){//置零
nums1[s.charAt(i)]++;
}
for(int i = 0 ;i< t.length(); i++){//
nums2[t.charAt(i)]++;
}
for(int i = 0; i < s.length();i++){//比较每个字母出现的次数,相同就是异构
if(nums1[s.charAt(i)] != nums2[s.charAt(i)]){
return false;
}
}
return true;
}
思路二:想用StringBuffer或者数组,比较,反正两个for超时了...