有效的字母异位词

来源:LeetCode

有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若s 和 t中每个字符出现的次数都相同,则称s 和 t互为字母异位词。
示例1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false

思路:统一大小写转换为char型数组再进行排序,都相等则为true否则false。如果char数组长度不一,那么字母出现的次数也不会一样返回false。

代码:
import java.util.Arrays;
public class Anagram {
/**
* 有效的字母异位词
* 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
* 注意:若s 和 t中每个字符出现的次数都相同,则称s 和 t互为字母异位词。
* 示例1:
* 输入: s = "anagram", t = "nagaram"
* 输出: true
* 示例 2:
* 输入: s = "rat", t = "car"
* 输出: false
* @param s
* @param
* @return
*/
public boolean isAnagram(String s, String t) {
char[] chars1 = s.toLowerCase().toCharArray();
char[] chars2 = t.toLowerCase().toCharArray();
Arrays.sort(chars1);
Arrays.sort(chars2);
boolean flag = false;
int i = 0;
int j = 0;
while (i <= chars1.length - 1 && j <= chars2.length - 1) {
if (chars1[i] == chars2[j]) {
flag = true;
i++;
j++;
} else {
flag = false;
break;
}
}
if (chars1.length != chars2.length) {
flag = false;
}
return flag;
}

public static void main(String[] args) {
Anagram anagram = new Anagram();
String str1 = "a";
String str2 = "a";
anagram.isAnagram(str1, str2);
}
}


posted @ 2021-12-08 23:53  Wavve  阅读(150)  评论(0)    收藏  举报