class Solution {
public:
int ladderLength(string start, string end, unordered_set<string> &dict) {
queue<pair<string,int>>q;
unordered_set<string>visited;
q.push(make_pair(start,1));
visited.insert(start);
while(q.size()!=0)
{
string temp=q.front().first;
int step=q.front().second;
q.pop();
for(int i=0;i<temp.size();i++)
{
string t=temp;
for(int j=0;j<26;j++)
{
t[i]='a'+j;
if(t==end)
return step+1;
if(dict.find(t)!=dict.end()&&visited.find(t)==visited.end())
{
visited.insert(t);
q.push(make_pair(t,step+1));
}
}
}
}
return 0;
}
};
运行时间时间有点长,应该就出在没有办法到达的情况中
Word Ladder
最新推荐文章于 2024-09-08 21:02:59 发布