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;
            }
            
            //...