力扣242题(有效的字母异位词)

242、有效的字母异位词

基本思想:

哈希表

具体实现:

1、定义一个大小为26的数组record

2、record记录字符串s里字符出现的次数

3、需要把字符映射到数组也就是哈希表的索引上

字符a到字符z的ASCII是26个连续的数值

字符a映射到索引0,字符z映射到索引25

遍历s这个字符串时,

将s[i] -'a' 这个索引对应的record+1

4、检查字符串t对应的字符有没有出现在record上

遍历字符串t,

将t[i] - 'a' 这个索引对应的record-1

5、最后如果record的所有元素都是0,则s和t是字母异位词

代码:

class Solution {
    public boolean isAnagram(String s, String t) {
        int[] record = new int[26];
        for (char c : s.toCharArray()){
            record[c - 'a'] += 1;
        }
        for (char c : t.toCharArray()){
            record[c - 'a'] -= 1;
        }
        for (int i : record){
            if (i != 0){
                return false;
            }
        }
        return true;
    }
}

 

上一篇:IREP_SOA Integration程序注释语法Annotations(概念)


下一篇:jfinal的model和record如何相互转化?