Menu
CoddyTech

Word Ladder

Du erhältst zwei Wörter, beginWord und endWord, sowie eine Wortliste wordList. Eine Wortleiter beginnt mit beginWord, endet mit endWord und ändert von einem Wort zum nächsten genau einen Buchstaben. Jedes Wort nach beginWord muss aus wordList stammen, also muss endWord darin enthalten sein; beginWord muss es nicht sein.

Gib die Anzahl der Wörter in der kürzesten Wortleiter zurück, wobei beide Enden mitgezählt werden, oder 0, falls es keine gibt.

Funktion

ladderLength(beginWord: string, endWord: string, wordList: string-array) → integer
beginWordstring
das erste Wort der Leiter
endWordstring
das Wort, das die Wortleiter 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 hat 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 benötigt eine Wortleiter mindestens 4 Wörter, und lead, load, goad, gold sind 4. lend und lewd sind Sackgassen.
challenge icon

Weiterführende Frage

Kannst du eine kürzeste Leiter selbst zurückgeben, also die Wörter in der richtigen Reihenfolge, statt ihrer Länge?

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

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

4