leetcode 242 两个字符串包含的字符是否完全相同

文章目录

s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.

方法一:
字符串只包含小写字符,总共有 26 个小写字符。可以用 Hash Table 来映射字符与出现次数,因为键值范围很小,因此可以使用长度为 26 的整型数组对字符串出现的字符进行统计,比较两个字符串出现的字符数量是否相同。

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

方法二:

class Soultion{
    public boolean isAnagram(String s, String t){
        char[] ss=s.toCharArray();
        char[] ts=s.toCharArray();
        Arrays.sort(ss);
        Arrays.sort(ts);
        return Arrays.equals(ss,ts);
        
    }
}

你可能感兴趣的:(leetcode)