Problem
Zwei Phrasen sind Anagramme, wenn sie genau die gleichen Buchstaben in der gleichen Anzahl enthalten, wobei Groß-/Kleinschreibung, Leerzeichen und Satzzeichen ignoriert werden.
Implementiere is_anagram(first, second).
Eingabe
first: Die erste Phrase. second: Die zweite Phrase.
Ausgabe
Gib true zurück, wenn die Phrasen Anagramme sind.
Einschränkungen
0 ≤ Länge jeder Phrase ≤ 10.000 (ASCII)
Beispiele
Eingabe:
first = "Listen"
second = "Silent"
Erwartete Ausgabe:
expected = True
Eingabe:
std::string first = "Listen";
std::string second = "Silent";
Erwartete Ausgabe:
bool expected = true;
Eingabe:
string first = "Listen";
string second = "Silent";
Erwartete Ausgabe:
bool expected = true;
Erläuterung
Beide verwenden e, i, l, n, s, t jeweils einmal.
Eingabe:
first = "apple"
second = "paddle"
Erwartete Ausgabe:
expected = False
Eingabe:
std::string first = "apple";
std::string second = "paddle";
Erwartete Ausgabe:
bool expected = false;
Eingabe:
string first = "apple";
string second = "paddle";
Erwartete Ausgabe:
bool expected = false;
Erläuterung
Die Buchstaben und deren Häufigkeiten unterscheiden sich.
So gehst du vor
Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.
Hinweis 1
Entferne Nicht-Buchstaben und ignoriere Groß-/Kleinschreibung vor dem Vergleich.
Hinweis 2
Zähle die Zeichenhäufigkeiten beider Phrasen oder sortiere ihre normalisierten Formen.
Hinweis 3
Satzzeichen und Leerzeichen dürfen das Ergebnis nicht beeinflussen.
Erwartete Komplexität
Zeit O(n), zusätzlicher Speicher O(1)
Referenzen
Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.