15、有效的字母异位词

15、有效的字母异位词

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

示例 1:

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

示例 2:

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

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

进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

答案解析:

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) - 'a'] ++;//字符相减,本质为ASCLL相减
           tArray[t.charAt(i) - 'a'] ++;
       }
       for (int i = 0; i < sArray.length; i ++){
           if (sArray[i] != tArray[i]){
               return false;
           }
       }
       return true;
    }
}
posted @ 2019-04-23 20:41  、思考致富  阅读(135)  评论(0编辑  收藏  举报