Word Ladder
来源:互联网 发布:奥塔哥理工学院 知乎 编辑:程序博客网 时间:2024/06/05 07:51
Word Ladder
Given two words (beginWord and endWord), and a dictionary, find the length of shortest transformation sequence from beginWord to endWord, such that:
- Only one letter can be changed at a time
- Each intermediate word must exist in the dictionary
For example,
Given:
start = "hit"
end = "cog"
dict = ["hot","dot","dog","lot","log"]
As one shortest transformation is "hit" -> "hot" -> "dot" -> "dog" -> "cog"
,
return its length 5
.
Note:
- Return 0 if there is no such transformation sequence.
- All words have the same length.
- All words contain only lowercase alphabetic characters.
class Solution {public: int ladderLength(string start, string end, unordered_set<string> &dict) { if(start.size() != end.size()) return 0; if(start.empty() || end.empty()) return 0; queue<string> path; path.push(start); int level = 1; int count = 1; dict.erase(start); while(dict.size() >0 && !path.empty()) { string curword = path.front(); path.pop();count--; for(int i = 0; i < curword.size(); i++) { string tmp = curword; for( char j = 'a'; j <= 'z';j++){ if(tmp[i] == j) continue; tmp[i] =j; if(tmp == end) return level+1; if(dict.find(tmp) != dict.end()) path.push(tmp); dict.erase(tmp); } } if(count == 0) { count = path.size(); level ++; } } 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
- ubuntu下设置开机自启动项
- postgresql数据库导入导出
- [JAVA]微信的请求重发解决办法
- 如果不是追随奥德赛阿萨德后i啊
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- Word Ladder
- “菜鸟”程序员和“大神”程序员差距在哪里
- Android开发中如何调用摄像头的功能
- POJ 2312 NYOJ284 【坦克大战】优先队列BFS
- UVA11988——悲剧文本
- matplotlib嵌入wxpython panel
- [leetcode] #41 First Missing Positive
- JavaScript程序编码规范
- js中(function(){…})()立即执行函数写法理解