题目:有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是不是 s 的字母异位词。
复制代码
示例:
输入: s = "anagram", t = "nagaram"
输出: true
输入: s = "rat", t = "car"
输出: false
复制代码
思考:
这道题先判断s和t的长度,不相等则不多是字母异或位词。
而后初始化一个int数组记录二十六个字母出现的次数。
遍历s、t,字母在s中出现一次数组对应位置上的数加1,在t中出现一次数组对应位置上的数减去1。
最后数组全部位置元素都为0返回true,即t 是 s 的字母异位词,不然返回false,t 不是 s 的字母异位词。
复制代码
实现:
class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length())
return false;
int[] result = new int[26];
for (int i = 0; i < s.length(); i++) {
result[s.charAt(i) - 'a']++;
result[t.charAt(i) - 'a']--;
}
for (int count = 0; count < 26; count++)
if (result[count] != 0)
return false;
return true;
}
}复制代码