每日两道算法题 - 字母异味词判断

问题

给定两个字符串,判断两个字符串是否互为异味词
异味词: 两个字符串中字符出现的次数相同,则互为异味词

思路

1)将两个字符串转为字符数组
2)对数组进行排序
3)比较两个字符数组是否相同

实现

public class IsAnagram {

    public static void main(String[] args) {

        String a = "hello";
        String b = "olleh";
        boolean result = isAnagram(a,b);
        System.out.println(result);
    }

    private static boolean isAnagram(String a, String b) {
        /**
         * 将字符串转换为字符数组,对数组中的字符进行排序,
         * 排序后可以保证相同字符是挨着的。
         * 比较两个数组是否相同
         */
        char[] charsA = a.toCharArray();
        char[] charsB = b.toCharArray();

        //排序
        Arrays.sort(charsA);
        Arrays.sort(charsB);

        return Arrays.equals(charsA,charsB);
    }
}
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容