LC: 266. Palindrome Permutation
https://leetcode.com/problems/palindrome-permutation/
266. Palindrome Permutation
Given a string s, return true if a permutation of the string could form a palindrome.
Example 1:
Input: s = "code"
Output: falseExample 2:
Input: s = "aab"
Output: trueExample 3:
Input: s = "carerac"
Output: trueConstraints:
1 <= s.length <= 5000sconsists of only lowercase English letters.
The Essence:
Es muss dem Problem-Löser klar sein:
Wenn ein String geradzahliger Länge palindromisch ist, kommt jedes Zeichen geradzahlige Male vor. (z.B. “aabbaa”)
Wenn ein String ungeradzahliger Länge palindromisch ist, kommt jedes Zeichen außer einem geradzahlige Male vor. (z.B. “acbcbca”)
Das ist eine Frage über die Bestimmung der Zeichenanzahlen. Daher müssen wir kontrollieren, ob mehr als ein Zeichen ungeradzahlige Male vorkommt. Wenn dies der Fall ist, dann kann der String nicht palindromisch werden.
Details:
Wir können ein Integer-Array der Länge 128 benutzen, um die Anzahl jedes ASCII-Zeichen zu speichern.
Man kann für die Anzahlen auch eine Hashtabelle oder ähnliche Datenstrukturen verwenden.
Solutions:
Default Code:
Last updated