127. Word Ladder
来源:互联网 发布:单例模式 java代码 编辑:程序博客网 时间:2024/06/05 04:37
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
.
Note:
- Return 0 if there is no such transformation sequence.
- All words have the same length.
- All words contain only lowercase alphabetic characters.
- You may assume no duplicates in the word list.
- You may assume beginWord and endWord are non-empty and are not the same.
typedef struct{ string myString; int step;}Node;bool canChange(string first, string second){ int length = first.length(); int diff = 0; for(int i = 0; i < length; i ++){ if(first[i] - second[i] != 0){ diff ++; if(diff > 1) return false; } }// if(diff == 1) return true;}class Solution{ public: int ladderLength(string beginWord, string endWord, vector<string>& wordList){ vector<Node> path; Node begin = {beginWord, 1}; path.push_back(begin); int start = 0, end = 0; int amount = wordList.size(); bool flag[amount] = {false}; while(start <= end){ Node temp = path[start]; for(int i = 0; i < amount; i ++){ if(!flag[i]){ if(canChange(temp.myString, wordList[i])){ Node node = {wordList[i], temp.step + 1}; path.push_back(node); if(node.myString == endWord) return node.step; flag[i] = true; end ++; } } } start ++; } Node endNode = path[end]; if(endNode.myString == endWord) return endNode.step; else return 0; }};
阅读全文
0 0
- [LeetCode]127.Word Ladder
- [Leetcode] 127. Word Ladder
- 127. Word Ladder
- [leetcode] 127.Word Ladder
- Leetcode-127.Word Ladder
- 127. Word Ladder LeetCode
- Leetcode 127. Word Ladder
- LeetCode 127. Word Ladder
- 127.Word Ladder
- 127. Word Ladder
- leetcode 127. Word Ladder
- 127. Word Ladder
- LeetCode 127. Word Ladder
- LeetCode-127.Word Ladder
- Leetcode 127. Word Ladder
- 127. Word Ladder
- [leetcode] 127. Word Ladder
- 127. Word Ladder (很重要!!!)
- iOS-VVDocumenter-Xcode in Xcode8不能使用问题
- git 错误 fatal: loose object...is corrupt解决方法
- Vim 常用命令
- 纯CSS3实现小圆盘无限loading效果
- ssm:接口返回JSONObject,HTTP Status 406
- 127. Word Ladder
- 数据库事务的四大特性以及事务的隔离级别
- ListView(React, JavaScript, HTML)
- List<Map<String,Object>> 遍历
- 利用MAT进行内存泄露分析
- s2smb-练手
- MS SQL Server结果生成HTML表格并发送邮件
- Fragment + ViewPage的使用
- UML类图与类的关系详解