
anagram就是变形词的意思。就是拥有同样的字符但顺序可以不同。两种办法,
1. 将字符串进行排序再比较是否相同:
public boolean isAnagram(String s, String t) {
char[] sArr = s.toCharArray();
char[] tArr = t.toCharArray();
Arrays.sort(sArr);
Arrays.sort(tArr);
return new String(sArr).equals(new String(tArr));
}
2. 用HashMap或者count数组进行统计。
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) return false;
int[] cnt = new int[26];
for (char c : s.toCharArray()) {
cnt[c - 'a']++;
}
for (char c : t.toCharArray()) {
cnt[c - 'a']--;
if (cnt[c - 'a'] < 0) return false;
}
return true;
}
本文介绍两种判断两个字符串是否为变形词的方法:一种是通过排序后比较字符串,另一种是使用HashMap或计数数组统计字符出现次数。
685

被折叠的 条评论
为什么被折叠?



