Back to course home
0% completed
Vote For New Content
Transformation Sequence Without Generating All Possible Words
The Whiz
Jan 29, 2025
public int ladderLength(String beginWord, String endWord, List<String> wordList) { Queue<String> queue = new LinkedList<>(); Set<String> visited = new HashSet<>(); queue.offer(beginWord); int dist = 1; while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { String current = queue.poll(); if (current.equals(endWord)) { return dist; } for (String word : wordList) { if (!visited.contains(word) && canForm(word, current)) { queue.offer(word); visited.add(word); } } } dist++; } return -1; } private boolean canForm(String word, String current) { if (word.length() != current.length()) { return false; } int diff = 0; for (int i = 0; i < word.length(); i++) { if (word.charAt(i) != current.charAt(i)) { diff++; if (diff > 1) { return false; } } } return diff == 1; }
0
0
Comments
Comments
On this page