Iterative Lösung für: - Finden von String-Permutationen
ich lesediese einfache und elegante Python-Lösung zum Auffinden aller Permutationen eines bestimmten Strings. Es ist rekursiv. Basierend darauf habe ich versucht, eine iterative Lösung in Python zu implementieren.
Unten ist mein Code. Es funktioniert jedoch nur für 3 Zeichenfolgen :( Ich habe nicht versucht zu sehen, wie die Bedingung für die Rekursionsgrundbedingung und die Rekursionsbedingung in eine iterative (nicht rekursive) Lösung umgewandelt werden. (Entweder basierend auf diesem Algorithmus oder einer beliebigen andere)
def permutations_iter(word):
while True:
perms = []
result = []
char = word[0]
new_word = word[1:]
if len(new_word)==2:
perms = [new_word,''.join(reversed(new_word))]
for perm in perms:
#insert the character into every possible location
for i in range(len(perm)+1):
result.append(perm[:i] + char + perm[i:])
return result
if len(new_word)==2:
break;
#example code to call this iterative function
print permutations_iter("LSE")