给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram” 输出: true 示例 2:
输入: s = “rat”, t = “car” 输出: false 说明: 你可以假设字符串只包含小写字母。
进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
package 练习;
class Solution {
static public boolean isAnagram(String s, String t) {
if(s==null || t==null)
return false;
int [] ints = new int[26];
for (int i = 0; i <s.length() ; i++) {
ints[(int)s.charAt(i) - 97 ] = ints[(int)s.charAt(i) - 97 ] + 1;
}
for (int i = 0; i <t.length() ; i++) {
ints[(int)t.charAt(i) - 97 ] = ints[(int)t.charAt(i) - 97 ] - 1;
}
for (int anInt : ints) {
if(anInt!=0)
return false;
}
return true;
}
public static void main(String[] args) {
System.out.println(isAnagram("zlap","kcqx"));
}
}
123456789101112131415161718192021222324252627282930