toCharArray():将字符串中的字符转换为一个字符数组。
题目描述:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
方法:排序
public class Solution {
public boolean isAnagram(String s, String t) {
if(s.length() != t.length() ) {
return false;
}
//将字符串转换为字符数组
char[] str1 = s.toCharArray();
char[] str2 = t.toCharArray();
//对字符数组进行排序
Arrays.sort(str1);
Arrays.sort(str2);
//比较排序后的字符数组是否相同
return Arrays.equals(str1, str2);
}
}
}
时间复杂度:O(nlogn)。排序时间复杂度为O(nlogn),字符串比较时间复杂度为O(n),所以总时间复杂度为O(nlogn +n),即O(nlogn)。
空间复杂度:O(logn)。