Чтобы проверить, являются ли две строки анаграммами, то есть содержат ли они одни и те же символы, но в разном порядке, вы можете использовать несколько методов. Вот несколько часто используемых подходов:
-
Метод 1: сортировка
- Преобразуйте обе строки в нижний регистр (если регистр не учитывается).
- Отсортируйте символы обеих строк в алфавитном порядке.
- Сравните отсортированные строки. Если они равны, исходные строки являются анаграммами.
-
Метод 2: подсчет частоты
- Создайте два массива или хеш-карты для хранения частоты каждого символа в обеих строках.
- Пройти по каждой строке и увеличить количество каждого символа в соответствующем массиве или хеш-карте.
- Сравните массивы частот или хэш-карты. Если они равны, исходные строки являются анаграммами.
-
Метод 3: подсчет символов
- Создайте массив или хеш-карту, чтобы хранить количество каждого символа в одной строке.
- Пройти по первой строке и увеличить количество каждого символа в массиве или хэш-карте.
- Пройти по второй строке и уменьшить количество каждого символа.
- Если все значения обнуляются, исходные строки являются анаграммами.
-
Метод 4. Использование простых чисел
- Назначьте каждому символу простое число (например, a = 2, b = 3, c = 5 и т. д.).
- Умножьте простые числа, присвоенные каждому символу в одной строке.
- Умножьте простые числа, присвоенные каждому символу во второй строке.
- Если продукты равны, исходные строки являются анаграммами.
-
Метод 5: использование XOR
- Выполнить операцию XOR для всех символов в обеих строках.
- Если результат равен нулю, исходные строки являются анаграммами.