Word Ladder
来源:互联网 发布:手机诊断软件超级兔子 编辑:程序博客网 时间:2024/06/06 00:45
题目描述:
Given two words (beginWord and endWord), and a dictionary’s word list, find the length of shortest transformation sequence from beginWord to endWord, such that:
Only one letter can be changed at a time.
Each transformed word must exist in the word list. Note that beginWord is not a transformed word.
For example,
Given:
beginWord = “hit”
endWord = “cog”
wordList = [“hot”,”dot”,”dog”,”lot”,”log”,”cog”]
As one shortest transformation is “hit” -> “hot” -> “dot” -> “dog” -> “cog”,
return its length 5.
分析:一道显而易见的BFS题目,使用BFS即可。
代码如下:
class Solution {public:struct data{ int x; string y;};bool check(string a,string b){ int num=0; if(a.size()==b.size()){ for(int i=0;i<b.size();i++){ if(a[i]!=b[i]) num++; } } return num==1;}int ladderLength(string beginWord, string endWord, vector<string>& wordList) { queue<data>temp; int len=wordList.size(); vector<int>vis(len,0); data t; t.x=1; t.y=beginWord; temp.push(t); while(!temp.empty()){ data p=temp.front(); temp.pop(); if(p.y==endWord){ return p.x; } for(int i=0;i<len;i++){ if(!vis[i]&&check(p.y,wordList[i])){ vis[i]=1; data k; k.x=p.x+1; k.y=wordList[i]; temp.push(k); } } } return 0; }};
阅读全文
0 0
- Word Ladder
- Word Ladder
- word ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- Word Ladder
- JS校验合法IP的正则表达式(包括IPV4和IPV6)
- 【C#语法】C#中的托管资源和非托管资源
- RSA实现JS前端加密,PHP后端解密
- 计算机中间层理论
- 面向对象
- Word Ladder
- PS软件常用快捷键
- Python学习日记 第九天 EX20-21
- 根据传入的时间,自动计算规则时间(如:包期时段的开始时间和结束时间)
- module.exports与exports的区别
- 中断响应流水灯控制程序
- 资料整理(目录)
- SparkMLlib---基于余弦相似度的用户相似计算
- ES6 Class继承中super在不同场景中的用法