给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
思路:本题的本质是比较出现的字符是否相同,并且每个字符出现的次数是否相同
1.将两个字符串转换为字符数组
2.比较两个字符数组的长度,不相等,直接false
3.如果走到这一步,说明长度一定是相等的,然后对两个数组进行排序,分别比较每一个位置上是否相等
注意:可以使用,比较的更全面
return Arrays.equals(schars, tchars);
class Solution {
public boolean isAnagram(String s, String t) {
char[] schars = s.toCharArray();
char[] tchars = t.toCharArray();
if (schars.length != tchars.length){
return false;
}
Arrays.sort(schars);
Arrays.sort(tchars);
// for (int i = 0; i < schars.length; i++){
// if (schars[i] != tchars[i]){
// return false;
// }
// }
// return true;
return Arrays.equals(schars, tchars);
}
}