문제링크
문제풀이
function neighbor(x,y){
let count=0;
for(let i=0;i<x.length;i++){
if(x[i]===y[i]){
count++;
}
}
if(count===x.length-1){
return true;
}else{
return false;
}
}
function solution(begin, target, words) {
words.unshift(begin);
let ch=Array(words.length).fill(0);
let dis=Array(words.length).fill(0);
ch[0]=1;
let queue=[begin];
while(queue.length){
let word=queue.shift();
if(word===target) return dis[words.indexOf(word)];
for(let i=0;i<words.length;i++){
if(neighbor(word,words[i])&&!ch[i]){
queue.push(words[i]);
dis[i]=dis[words.indexOf(word)]+1;
ch[i]=1;
}
}
}
return 0;
}