Menu
CoddyTech

Word Ladder

Du erhältst zwei Wörter, beginWord und endWord, sowie eine Wortliste wordList. Eine Leiter ist eine Folge von Wörtern, die mit beginWord beginnt, mit endWord endet und bei der sich jedes Wort vom nächsten genau in einem Buchstaben unterscheidet. Jedes Wort nach beginWord muss aus wordList stammen.

Gib die Anzahl der Wörter in der kürzesten Leiter zurück, einschließlich beider Enden, oder 0, wenn keine Leiter existiert. Zum Beispiel ist cold, cord, card eine Leiter aus 3 Wörtern. beginWord muss nicht in wordList enthalten sein, aber endWord muss es.

Funktion

ladderLength(beginWord: string, endWord: string, wordList: string-array) → integer
beginWordstring
das erste Wort der Leiter
endWordstring
das Wort, das die Leiter erreichen muss
wordListstring-array
die Wörter, aus denen jeder spätere Schritt stammen muss
Gibt zurückinteger
die Anzahl der Wörter in der kürzesten Wortleiter oder 0, wenn es keine gibt

Einschränkungen

  • 1 ≤ beginWord.length ≤ 10
  • endWord und jedes Wort in wordList haben dieselbe Länge wie beginWord.
  • 1 ≤ wordList.length ≤ 5000
  • Alle Wörter enthalten ausschließlich englische Kleinbuchstaben.
  • beginWord != endWord
  • Die Wörter in wordList sind alle verschieden. beginWord kann eines davon sein oder auch nicht.

Beispiele

Eingabe
beginWord = "lead"endWord = "gold"wordList = ["load", "goad", "gold", "lend", "lewd", "bold"]
Ausgabe
4
Erklärung
lead und gold unterscheiden sich in drei Buchstaben, daher hat keine Wortleiter weniger als 4 Wörter, und lead, load, goad, gold hat genau 4. Auch lend und lewd unterscheiden sich von lead in einem Buchstaben, aber keines von beiden führt irgendwohin, wo man noch nicht war, und bold ist nur von gold selbst aus erreichbar.

lock icon+14 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du eine kürzeste Wortleiter selbst zurückgeben, also die Wörter in der Reihenfolge, und nicht nur ihre Länge?

Code zurücksetzen
def ladderLength(beginWord, endWord, wordList):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

beginWord = "lead"
endWord = "gold"
wordList = ["load", "goad", "gold", "lend", "lewd", "bold"]

Erwartet

4