您的位置:首页 > 其它

leetcode初级算法字符串4 有效的字母异位词

2018-07-24 15:52 232 查看

题目:

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

示例 1:

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

示例 2:

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

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

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

 

解法:新开一个26的数组str,扫描s数组,把每个字母对于的位置上的权值+1,扫描t数组,把每个字母的位置上的权值-1,这样操作下来的话,如果满足true的情况str里面每个位置上都是0.

import java.util.Arrays;
class Solution {
    public boolean isAnagram(String s, String t) {
        int[] str=new int [26];
        for(int i=0;i<s.length();i++)
            str[s.charAt(i)-'a']++;
        for(int i=0;i<t.length();i++)
            str[t.charAt(i)-'a']--;
        for(int i=0;i<26;i++)
        {
            if(str[i]!=0)
                return false;
        }
        return true;
    }
}

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: