有效的字母异位词,哈希表方法

/**
     * 有效的字母异位词
     * 力扣题目链接(opens new window)
     *
     * 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
     *
     * 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true
     *
     * 示例 2: 输入: s = "rat", t = "car" 输出: false
     *
     * 说明: 你可以假设字符串只包含小写字母。
     *
     * #思路
     */

    public boolean yiwei(String s,String t){
        int[] hash = new int[26];
        for (int i = 0; i < s.length(); i++) {
            hash[s.charAt(i) - 'a']++;
        }
        for (int i = 0; i < t.length(); i++) {
            hash[t.charAt(i)-'a']--;
        }
        for (int i = 0; i < hash.length; i++) {
            if(hash[i] != 0){
                return false;
            }
        }
        return true;
    }

    @Test
    public void test1() {
        //String s = "anagram";
        String s = "rat";
        //String t = "nagaram";
        String t = "car";
        boolean yiwei = yiwei(s, t);
        System.out.println(yiwei);
    }

如果是题目有关元素是否在集合中出现过,我们可以考虑用hash来做,hash常见的如数组,set

posted @ 2023-07-09 10:30  sgj191024  阅读(4)  评论(0编辑  收藏  举报