刷题日记05-有效的字母异位词(排序)

有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t中每个字符出现的次数都相同,则称 s 和 t互为字母异位词。

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

思路:首先两个字符串是异位词的前提是两个字符串的长度相同,要是不同肯定就不是异位词,所以这是前提。然后对字符串进行排序,现将字符串转换成字符数组,再用Arrays.sort()对字符数组进行排序,如果是异位词那排序好了之后两个数组肯定是相同的。排序好了之后,进行遍历,如果两个字符数组在同一位置上的元素不相同,就说明不是异位词。代码如下:

class Solution {
    public boolean isAnagram(String s, String t) {
        //对字符串进行排序
        char[] chars1 = s.toCharArray();
        char[] chars2 = t.toCharArray();
        Arrays.sort(chars1);
        Arrays.sort(chars2);

        //进行判断,如果数组长度不同直接返回false
        if (chars1.length != chars2.length){
            return false;
        }

        //遍历字符串数组
        for (int i = 0; i < chars1.length; i++) {
            if(chars1[i] != chars2[i]){
                return false;
            }
        }
        return true;
    }
}

#如何看待2023届秋招##你的秋招进展怎么样了##0offer是寒冬太冷还是我太菜##我的求职思考#
全部评论

相关推荐

评论
33
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务