Word Ladder II


Given two words (start and end), and a dictionary, find the shortest transformation sequence from start to end, such that:

  • Only one letter can be changed at a time
  • Each intermediate word must exist in the dictionary

If there are multiple such sequence of shortest length, return all of them. Refer to the example for more details.

Note:

  • All words have the same length.
  • All words contain only lowercase alphabetic characters.

Input Format

The first argument is string start.
The second argument is string end.
The third argument is an array of strings dict

Output Format

Return all transformation sequences such that first word of each sequence is start and last word is end, all intermediate words belongs to dictionary(dict) and consecutive words had atmost 1 difference.  

Example :

:

start = "hit"
end = "cog"
dict = ["hot","dot","dog","lot","log"]

Return

  [
    ["hit","hot","dot","dog","cog"],
    ["hit","hot","lot","log","cog"]
  ]
  
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.
Start solving Word Ladder II on Interview Code Editor
Sign Up
to access hints and editorial solutions for Word Ladder II
Asked In:

Discussion


Loading...
Click here to start solving coding interview questions