编程语言
首页 > 编程语言> > leetcode java 242. 有效的字母异位词

leetcode java 242. 有效的字母异位词

作者:互联网

leetcode 242. 有效的字母异位词(java)

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

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true

示例 2:

输入: s = “rat”, t = “car”
输出: false

说明:
你可以假设字符串只包含小写字母。

思路:
如果两个字符串长度不相等,直接返回false。如果长度相等,就创建两个数组sArray和tArray,把小写字母减去97就得到了对应的26个数字,例如a就是0,b就是1…
用得到的这26个数字当做sArray和tArray的下标,这样就可以从0到26遍历数组,判断两个数组是否存取的完全相同

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length() != t.length()) {
            return false;
        }
        int[] sArray = new int[26];
        int[] tArray = new int[26];
        for(int i = 0; i < s.length(); i++) {
            sArray[s.charAt(i) - 97]++;
            tArray[t.charAt(i) - 97]++;
        }
        for(int i = 0; i < 26; i++) {
            if(sArray[i] != tArray[i]) {
                return false;
            }
        }
        return true;
    }
}

标签:sArray,26,java,int,leetcode,++,242,false,tArray
来源: https://blog.csdn.net/weixin_43873349/article/details/90269576