给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
说明:
1.若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
//提示 1. 1 <= s.length, t.length <= 5 * 104 2. s 和 t 仅包含小写字母
实例1:
输入: s = "anagram", t = "nagaram" 输出: true
实例2:
输入: s = "rat", t = "car" 输出: false
一、解题思路 1、解法一( Java )
解法思路:比较异位词,即利用 length() 方法比较两字符串是否包括个数相同的字母,可先利用 toCharArray() 方法转化为字符数组并通过 sort() 进行排序,然后再转化为字符串利用 equals() 方法比较值是否相等。
代码如下:
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length()!=t.length())
//比较字符串长度
return false;
char [] ss = s.toCharArray();
char [] tt = t.toCharArray();
//toCharArray()方法将字符串转换为字符数组。
Arrays.sort(ss);
Arrays.sort(tt);
//使用sort()方法对Java数组进行排序
s = new String(ss);
t = new String(tt);
if(s.equals(t))
//equals() 方法用于判断 Number 对象与方法的参数进是否相等
//当Number对象不为Null,且与方法的参数类型与数值都相等返回 True,否则返回 False
return true;
return false;
}
}
运行结果截图如下:



