JSFiddle - React, Tailwind, and code Playground
by eelyafi
JavaScript
/* function ladderLength(beginWord, endWord, wordList) {
let len = 1;
let queue = [beginWord];
const dict = new Set(wordList);
const seen = new Set(queue);
debugger;
while (queue.length) {
const next = [];
for (let v of queue) {
if (v === endWord) {
return len;
}
const arr = v.split('');
for (let i = 0; i < arr.length; i++) {
for (let d = 0; d < 26; d++) {
arr[i] = String.fromCharCode(97+d);
const nv = arr.join('');
if (!seen.has(nv) && dict.has(nv)) {
next.push(nv);
seen.add(nv);
}
arr[i] = v[i];
}
}
}
queue = next;
len++;
}
return 0;
} */
/* var ladderLength = function(beginWord, endWord, wordList) {
let len = 1;
let queue = [beginWord];
const seen = {};
const dict = {};
while(queue.length) {
const next = [];
for (let node of queue) {
if (node === endWord) {
return len;
}
const arr = node.split('');
for (let i = 0; i < arr.length; i++) {
for (let d = 0; d < 26; d++) {
arr[i] = String.fromCharCode(97 + d);
const newNode = arr.join('');
if (!seen[newNode] && wordList.includes(newNode)) {
seen[newNode] = true;
next.push(newNode);
}
}
arr[i] = node[i]
}
}
queue = next;
len = len + 1;
}
return 0
} */;
/* var ladderLength = function(beginWord, endWord, wordList) {
let len = 1;
let queue = [beginWord];
const seen = {};
const dict = {};
debugger;
while(queue.length) {
const next = [];
for (let node of queue) {
if (node === endWord) {
return len;
}
//...