242. Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = “anagram”, t = “nagaram”, return true.
s = “rat”, t = “car”, return false.
解法一
字典序排序。然后逐个判断
public class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) {
return false;
}
char[] sChar = s.toCharArray();
char[] tChar = t.toCharArray();
Arrays.sort(sChar);
Arrays.sort(tChar);
for (int i = 0; i < sChar.length; i++) {
if (sChar[i] != tChar[i]) {
return false;
}
}
return true;
}
}
解法二
一个数组存放每个字符出现的个数。
public class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) {
return false;
}
int[] count = new int[256];
char[] sChar = s.toCharArray();
char[] tChar = t.toCharArray();
for (int i = 0; i < sChar.length; i++) {
count[sChar[i] - 'a']++;
count[tChar[i] - 'a']--;
}
for (int c : count) {
if (c != 0) {
return false;
}
}
return true;
}
}