Упражнения на Java: Проверьте, являются ли две данные строки анаграммами или нет
Java Basic: упражнение 142 с решением
Напишите программу на Java, чтобы проверить, являются ли две данные строки анаграммами или нет.
Согласно википедии «Анаграмма - это слово или фраза, образованная путем перестановки букв другого слова или фразы, как правило, с использованием всех оригинальных букв ровно один раз. Например, слово анаграмма может быть переставлено в nag ram, или слово двоичное в мозги. "
Иллюстрированная презентация:
Пример решения:
Java-код:
public class Solution {
/**
* @param s: The first string
* @param b: The second string
* @return true or false
*/
public static boolean anagram_test(String str1, String str2) {
if (str1 == null || str2 == null) {
return false;
} else if (str1.length() != str2.length()) {
return false;
} else if (str1.length() == 0 && str2.length() == 0) {
return true;
}
int[] count = new int[256];
for (int i = 0; i < str1.length(); i++) {
count[str1.charAt(i)]++;
count[str2.charAt(i)]--;
}
for (int num : count) {
if (num != 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
String str1 ="wxyz";
String str2 ="zyxw";
System.out.println("String-1 : "+str1);
System.out.println("String-2 : "+str2);
System.out.println("Check if two given strings are anagrams or not?: "+anagram_test(str1,str2));
}
}
Пример вывода:
Строка-1: wxyz Строка-2: zyxw Проверьте, являются ли две данные строки анаграммами или нет ?: true
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы проверить, содержит ли данная строка все уникальные символы.
Далее: написать программу на Java для объединения двух заданных отсортированных списков.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования