Word Ladder

HardGraphs
Asked byAmazonFacebookLinkedInMicrosoftQualtricsApple

Problem

Given a beginWord, an endWord, and a word list, return the length of the shortest transformation sequence from beginWord to endWord where each step changes exactly one letter and every intermediate word must exist in the word list. Return 0 if no such sequence exists.

Examples

Example 1
Input:beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log","cog"]
Output:5
hit -> hot -> dot -> dog -> cog.

Constraints

  • 1 <= beginWord.length <= 10

Solve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.

Solve on FeatCode →

How to approach it: the Graphs pattern

A graph models relationships as nodes and edges, which can be directed or undirected, weighted or not. Most graph problems come down to choosing the right traversal — DFS, BFS, or union-find — for what you're trying to find.

Look for this pattern when

  • The problem involves connections between items (islands, courses with prerequisites, friend networks, grids).
  • You need the shortest path in an unweighted graph (BFS) or need to explore every reachable node (DFS).
  • You're asking "are these two things connected?" repeatedly (union-find).

Read the full Graphs guide →

Video walkthroughs

Original problem on LeetCode ↗

More Graphs problems