给定两个字符串 s
和 t
,编写一个函数来判断 t
是否是 s
的
字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true
示例 2:
输入: s = "rat", t = "car" 输出: false
提示:
1 <= s.length, t.length <= 5 * 104
s
和t
仅包含小写字母
题解:
package day01;
import java.util.Scanner;
public class Leetcode242有效的字母异位词 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
String s = sc.next();
String t = sc.next();
if (isAnagram(s, t)) {
System.out.println("ture");
}else {
System.out.println("false");
}
}
public static boolean isAnagram(String s, String t){
int[] hash = new int[26];
for(int i = 0;i<s.length();i++) {
hash[s.charAt(i)-'a']++;
}
for(int i = 0;i<t.length();i++) {
hash[t.charAt(i)-'a']--;
}
for(int i = 0;i<26;i++) {
if (hash[i]!=0) {
return false;
}
}
return true;
}
}