leetcode[242] Valid Anagram

题意:如果组成二个字符串的字符一样(不管顺序),那么字符串就是异构字符串。

思路一:对字符串排序后,比较是否相等

public class Solution {
    public boolean isAnagram(String s, String t) {
        char[] sc=s.toCharArray();
        char[] tc=t.toCharArray();
        Arrays.sort(sc);
        Arrays.sort(tc);
        return Arrays.equals(sc,tc);
    }
}

思路二:统计字符串中,所有字符的出现次数(这种算法效率应该比较高)

public class Solution {
    public boolean isAnagram(String s, String t) {
       int[] sc=new int[30];
       int[] tc=new int[30];
       for(int i=0;i<s.length();i++){
           char c=s.charAt(i);
           sc[c-'a']++;
       }
       for(int i=0;i<t.length();i++){
           char c=t.charAt(i);
           tc[c-'a']++;
       }
       return Arrays.equals(sc,tc);
    }
}

你可能感兴趣的:(java,LeetCode)