用java代码写出:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词
时间: 2023-05-19 14:01:19 浏览: 57
下面是用 Java 代码实现的判断 t 是否是 s 的字母异位词的函数:
```
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) {
return false;
}
int[] count = new int[26];
for (int i = 0; i < s.length(); i++) {
count[s.charAt(i) - 'a']++;
count[t.charAt(i) - 'a']--;
}
for (int i = 0; i < 26; i++) {
if (count[i] != 0) {
return false;
}
}
return true;
}
```
这个函数首先判断两个字符串的长度是否相等,如果不相等,则 t 不可能是 s 的字母异位词,直接返回 false。然后使用一个长度为 26 的数组 count 统计 s 和 t 中每个字母出现的次数,s 中出现的字母次数加 1,t 中出现的字母次数减 1。最后遍历 count 数组,如果有任何一个元素不为 0,则说明 t 不是 s 的字母异位词,返回 false,否则返回 true。
希望这个代码能够帮到你!
相关问题
用c语言写一个程序。给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)
好的,这个问题我可以回答。可以使用哈希表来解决这个问题。首先,判断两个字符串的长度是否相等,如果不相等,则它们不是变位词。然后,遍历第一个字符串,将每个字符出现的次数记录在哈希表中。接着,遍历第二个字符串,如果某个字符在哈希表中出现的次数为0,则它们不是变位词。如果出现的次数不为0,则将哈希表中该字符出现的次数减1。最后,遍历完第二个字符串后,如果哈希表中所有字符的出现次数都为0,则它们是一组变位词。
java编写一个实验程序,给定两个字符串s和t,求串t在串s中不重叠出现的次数
好的,这是一个计算问题,我可以帮您回答。以下是Java编写的实验程序,用于计算给定两个字符串s和t,求串t在串s中不重叠出现的次数:
```java
public class Main {
public static void main(String[] args) {
String s = "abcdabcdabcdabcd"; // 串s
String t = "bc"; // 串t
int count = 0;
int index = 0;
while ((index = s.indexOf(t, index)) != -1) {
count++;
index += t.length();
}
System.out.println("串t在串s中不重叠出现的次数为:" + count);
}
}
```
请根据您的需求修改字符串s和t的值,以获取正确的计算结果。
相关推荐














