
class Solution
{
public://广度优先搜索int ladderLength(string beginWord, string endWord, vector& wordList) {int i,j;//将vector转换成unordered_st 提高查询速度 目前理解不深unordered_set wordSet(wordList.begin(),wordList.end());//不存在直接返回if(wordSet.find(endWord)==wordSet.end()) return 0;unordered_map visitMap; //map中存放 当前的word和经过的路径长度//初始化队列queue que;que.push(beginWord); //第一个元素//初始化visitMapvisitMap.insert(pair(beginWord,1));while(!que.empty()) //本题BSP 核心是队列 存储用unordered_map{string word=que.front();que.pop();int path=visitMap[word];for(i=0;istring new_word=word;for(j=0;j<26;j++){new_word[i]=j+'a';if(new_word==endWord) return path+1;if(wordSet.find(new_word)!=wordSet.end()&&visitMap.find(new_word)==visitMap.end()){visitMap.insert(pair(new_word,path+1));que.push(new_word);} }}} return 0;}
};
